1

iPhone用の電卓アプリを作成しようとしているので、すべての操作を終了しました。ユーザーがテキストフィールドに最初の番号を入力し、[+]ボタンをタップした場合は、テストフィールドのスイッチまたはタブを作成します。別のテキストフィールドに

どうすればそれを行うことができますか?これがヘッダーです

    #import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
    int a,b,c;
    char op;
    UILabel*operation,*result;
    UITextField *num1,*num2;  
}
@property (nonatomic)int a , b ,c;
@property (nonatomic)char po;
@property (nonatomic ,retain)IBOutlet UILabel*operation,*result;
@property (nonatomic ,retain)IBOutlet UITextField *num1,*num2;;

-(IBAction)sum:(id)sender;
-(IBAction)Calculate:(id)sender;
-(IBAction)Clear:(id)sender;
-(IBAction)hideKeyboard:(id)sender;
@end

.mファイル

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize operation,result,num1,num2,a,b,c,po;
-(IBAction)sum:(id)sender{
    operation.text=@"+";


}
-(IBAction)hideKeyboard:(id)sender{
    [num1 resignFirstResponder];   
    [num2 resignFirstResponder];
}
-(IBAction)Calculate:(id)sender{

    //sum
    a =num1.text.integerValue;
    b= num2.text.integerValue;
    c=num1.text.integerValue+num2.text.integerValue;
    printf("%i >> %i",b,num2.text.integerValue);
    [num1 resignFirstResponder];
    [num2 resignFirstResponder];
    result.text =[NSString stringWithFormat:@"%i + %i = %i",a,b,c];



}
-(IBAction)Clear:(id)sender{
    [num1 resignFirstResponder];
    [num2 resignFirstResponder];
    num1.text=@"";
    num2.text=@"";
    operation.text=@"";
    a=0;
    b=0;
    c=0;
    result.text=@"";
    op=' ';

}
4

1 に答える 1

2

私があなたのコードを正しく理解していれば、ユーザーが入力した後、最初のコード-sum:senderが呼び出されます。becomeFirstResponder2番目のUITextFieldを呼び出すだけです。

-(IBAction)sum:(id)sender{
    operation.text=@"+";
    [num2 becomeFirstResponder];
}
于 2012-09-09T18:21:15.603 に答える