2014-09-26 73 views
2

我已經使用了論壇上的所有建議,並且仍然無法通過點擊下一個按鈕從一個uitextfield轉到另一個。我錯過了什麼或有什麼地方不適合。任何幫助都會很棒。謝謝。UITextField - 下一步按鈕(2)

這裏是我的所有代碼:

//.h file 
#import <UIKit/UIKit.h> 

@interface IncomeTransactionViewController : UIViewController 


@property (strong, nonatomic) IBOutlet UITextField *businessField; 
@property (strong, nonatomic) IBOutlet UITextField *memoField; 
@property (strong, nonatomic) IBOutlet UITextField *amountField; 


@end 

//.m file 
#import "IncomeTransactionViewController.h" 

@interface IncomeTransactionViewController() 

@end 

@implementation IncomeTransactionViewController 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    //Business UITextField 
    self.businessField = [[UITextField alloc] initWithFrame:CGRectMake(20, 300, 280, 40)]; 

    self.businessField.returnKeyType = UIReturnKeyNext; 
    self.businessField.placeholder = @"Business"; 
    self.businessField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
    self.businessField.adjustsFontSizeToFitWidth = TRUE; 
    self.businessField.borderStyle = UITextBorderStyleRoundedRect; 
    [self.view addSubview:self.businessField]; 

    //Memo UITextField 
    self.memoField = [[UITextField alloc] initWithFrame:CGRectMake(20, 350, 280, 40)]; 

    self.memoField.returnKeyType = UIReturnKeyNext; 
    self.memoField.placeholder = @"Memo"; 
    self.memoField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
    self.memoField.adjustsFontSizeToFitWidth = TRUE; 
    self.memoField.borderStyle = UITextBorderStyleRoundedRect; 
    [self.view addSubview:self.memoField]; 

    //Amount UITextField 
    self.amountField = [[UITextField alloc] initWithFrame:CGRectMake(20, 400, 280, 40)]; 

    self.amountField.returnKeyType = UIReturnKeyDone; 
    self.amountField.placeholder = @"Amount"; 
    self.amountField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
    self.amountField.adjustsFontSizeToFitWidth = TRUE; 
    self.amountField.borderStyle = UITextBorderStyleRoundedRect; 
    [self.view addSubview:self.amountField]; 
} 

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    if (textField == self.amountField) { 
     [textField resignFirstResponder]; 

    } else if (textField == self.businessField) { 
     [self.businessField resignFirstResponder]; 
     [self.memoField becomeFirstResponder]; 

    } else if (textField == self.memoField) { 
     [self.memoField resignFirstResponder]; 
     [self.amountField becomeFirstResponder]; 
    } 
    return YES; 
} 

@end 
+0

我不認爲你需要在商業和備忘錄如果塊resignFirstResponder調用。另外,你有沒有試過返回NO? – 2014-09-26 03:41:46

+0

[UITextField - Next Button]的可能重複(http://stackoverflow.com/questions/26050306/uitextfield-next-button) – Popeye 2015-06-17 08:47:00

回答

0

你必須採取<UITextFieldDelegate>.H文件

@interface IncomeTransactionViewController : UIViewController <UITextFieldDelegate> 

,並在您的.m文件需要分配這樣的代表

self.businessField = [[UITextField alloc] initWithFrame:CGRectMake(20, 300, 280, 40)]; 
self.businessField.delegate = self; // add this line 
self.businessField.returnKeyType = UIReturnKeyNext; 
self.businessField.placeholder = @"Business"; 
self.businessField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
self.businessField.adjustsFontSizeToFitWidth = TRUE; 
self.businessField.borderStyle = UITextBorderStyleRoundedRect; 
[self.view addSubview:self.businessField]; 

//Memo UITextField 
self.memoField = [[UITextField alloc] initWithFrame:CGRectMake(20, 350, 280, 40)]; 
self.memoField.delegate = self; // add this line 
self.memoField.returnKeyType = UIReturnKeyNext; 
self.memoField.placeholder = @"Memo"; 
self.memoField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
self.memoField.adjustsFontSizeToFitWidth = TRUE; 
self.memoField.borderStyle = UITextBorderStyleRoundedRect; 
[self.view addSubview:self.memoField]; 

//Amount UITextField 
self.amountField = [[UITextField alloc] initWithFrame:CGRectMake(20, 400, 280, 40)]; 
self.amountField.delegate = self; // add this line 
self.amountField.returnKeyType = UIReturnKeyDone; 
self.amountField.placeholder = @"Amount"; 
self.amountField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
self.amountField.adjustsFontSizeToFitWidth = TRUE; 
self.amountField.borderStyle = UITextBorderStyleRoundedRect; 
[self.view addSubview:self.amountField]; 

這應該這樣做。讓我知道如果它仍然不起作用

+1

非常感謝。我以爲我錯過了一些東西。它效果很好。 – user3806600 2014-09-26 03:48:36

+0

@ user3806600任何時間.. :) – 2014-09-26 04:00:15

相關問題