使用Objective C在文本字段中输入的文本更改导航栏标题

时间:2015-07-09 14:38:32

标签: ios objective-c xcode navigationbar

我希望导航栏中页面顶部的标题根据输入到特定文本字段的文本进行更改。我会通过单独的UINavigationController或UIViewController来做到这一点,如果是这样,那将如何工作?

1 个答案:

答案 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:调用。)