我希望导航栏中页面顶部的标题根据输入到特定文本字段的文本进行更改。我会通过单独的UINavigationController或UIViewController来做到这一点,如果是这样,那将如何工作?
答案 0 :(得分:2)
您不需要单独的UINavigationController
;你可以用
self.navigationItem.title = titleTextField.text;
如果将视图控制器设置为UITextField
的委托,并实现此方法:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField == titleTextField) {
self.navigationItem.title = [textField.text stringByReplacingCharactersInRange:range
withString:string];
}
return YES;
}
您将获得一个实时更新的标题。 (请记住,此方法在 textField.text
实际更改之前被称为,这就是为什么在其中进行stringByReplacingCharactersInRange:withString:
调用。)