辞职第一响应者 UITextView。临时 UINavigationBar?

Posted

技术标签:

【中文标题】辞职第一响应者 UITextView。临时 UINavigationBar?【英文标题】:Resign First Responder UITextView. Temporary UINavigationBar? 【发布时间】:2013-08-05 20:03:24 【问题描述】:

我正在编写一个应用程序,让用户在文本视图中编辑一些内容,并且我想添加一个关闭按钮,让用户在那里保存编辑,而无需随意关闭键盘。

我熟悉以编程方式关闭键盘和一切。我现在唯一真正的问题是设计问题。我想让用户像在笔记应用程序中一样单击按钮,但我没有 UINavigationBar。

是否可以创建一个临时导航栏并为其分配一个“完成”按钮?

我将在自定义 UIView 中实现这一点,因此它应该是独立于控制器的。我的意思是我不知道当前控制器中是否存在 UInavigationBar。所以在添加临时的之前必须先处理。

感谢任何帮助。

【问题讨论】:

一种选择是使用您的关闭按钮创建一个 UIToolbar 并将其设置为键盘的 inputAccessoryView 属性。 【参考方案1】:

这样的东西很适合你所描述的:

viewDidLoad:

UIToolbar *inputToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonTapped)];
[inputToolbar setItems:[NSArray arrayWithObject:doneButton]];

self.theTextView.inputAccessoryView = inputToolbar;

doneButtonTapped

[self.view endEditing:YES];

【讨论】:

这就是我最终的结果。只需将按钮放在右侧:)

以上是关于辞职第一响应者 UITextView。临时 UINavigationBar?的主要内容,如果未能解决你的问题,请参考以下文章

刷新键盘而不辞职并成为第一响应者

触摸 contentview 后辞职第一响应者

UITextField,辞职第一响应者时,导致文本的奇怪动画滚动

Swift 如何让所有 uiTextfield 上的第一响应者辞职

iOS文本字段不辞职第一响应者

UITextField 辞职第一响应者 iOS4