我想利用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