inputAccessoryView를 활용하고 도움말 텍스트와 이전 및 다음 버튼을 표시하려고합니다. 그러나 많은 ViewControllers 걸쳐 많은 UITextFields 있습니다. 그래서 inputAccessoryView에 대한 재사용 가능한 UIView를 갖고 싶습니다.여러 UITextField 및 ViewControllers와 함께 inputAccessoryView 사용
이렇게하려면 xib 파일 ('SetupKeyboardAccessory')과 해당 xib에 연결된 ViewController ('SetupKeyboardAccessoryViewController')를 만들었습니다.
SetupKeyboardAccessory :
SetupKeyboardAccessoryViewController : 내 MainViewController 내부
@interface SetupKeyboardAccessoryViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *helpTextLabel;
@property (weak, nonatomic) IBOutlet UIButton *previousButton;
@property (weak, nonatomic) IBOutlet UIButton *nextButton;
@end
내가 내 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로 설정합니다. 어떤 이유로 도움말 텍스트가 설정되지 않습니다.
나는 아마도 여기에 뭔가 잘못된 일을하고있는 것으로 알고있다. SetupAccessoryView에 대한 SetupKeyboardAccessoryViewController의 뷰를 설정하고있다. 나는 여전히 iOS 개발에 대해 상당히 새로운 것이다. 그래서 어떤 도움을 주시면 감사하겠습니다. 고맙습니다!
xip 파일의 적절한 레이블에 'helpTextLabel'콘센트가 연결되어 있습니까? – Gudiya
레스 폰을 보내 주셔서 감사합니다. 정확한 라벨에 정확하게 연결됩니다. 나는 좀 더 파고 들었고보기 컨트롤러가 초기화 된 후에 자체 라벨이 없다는 것을 알게되었습니다. 나는 아래에 더 자세한 내용을 게시했다. – KrispyDonuts