我想利用inputAccessoryView并显示帮助文本和上一个和下一个按钮。不过,我有许多跨越许多ViewControllers的UITextFields。所以我想为inputAccessoryView有一个可重用的UIView。使用inputAccessoryView与多个UITextFields和ViewControllers
为此,我创建了一个xib文件('SetupKeyboardAccessory')和一个连接到该xib的ViewController('SetupKeyboardAccessoryViewController')。
SetupKeyboardAccessory:
SetupKeyboardAccessoryViewController:
@interface SetupKeyboardAccessoryViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *helpTextLabel;
@property (weak, nonatomic) IBOutlet UIButton *previousButton;
@property (weak, nonatomic) IBOutlet UIButton *nextButton;
@end
里面我MainViewController我有我的UITextFields。这MainViewController正在实施UITextFieldDelegate:
MainViewController:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
// you can create the accessory view programmatically (in code), or from the storyboard
if (textField.inputAccessoryView == nil) {
SetupKeyboardAccessoryViewController *accessoryView =
[[SetupKeyboardAccessoryViewController alloc] initWithNibName:@"SetupKeyboardAccessory"
bundle:nil];
accessoryView.helpTextLabel.text = @"setting help text here";
textField.inputAccessoryView = accessoryView.view;
}
//self.navigationItem.rightBarButtonItem = self.doneButton;
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
当文本字段开始编辑,我初始化我SetupKeyboardAccessoryViewController,设置帮助文本,然后将其设置为inputAccessoryView。出于某种原因,帮助文本未被设置。
我知道我可能做错了这里设置SetupKeyboardAccessoryViewController的视图到inputAccessoryView。我对iOS开发还很陌生。所以任何帮助,将不胜感激。谢谢!
helpTextLabel插座是否连接到xib文件中的相应标签? – Gudiya
感谢Laddu的回复,它正确连接到正确的标签。我做了更多的挖掘,事实证明,它自己的标签在视图控制器初始化之后是零。我已在下面发布了一个答案,并提供了更多细节 – KrispyDonuts