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

相关问题