初始化时如何使 UITextView 不成为焦点?

Posted

技术标签:

【中文标题】初始化时如何使 UITextView 不成为焦点?【英文标题】:How to make a UITextView not take the focus when initializing? 【发布时间】:2010-09-27 17:21:40 【问题描述】:

我正在使用代码创建一个详细视图,当您按下一行 UITableView 时推送,但出现问题。

详细视图包含一个 UITextView,当调用详细视图时(仅第一次),这会使 UITableView 行被按下以失去其按下状态。不应该!只有从详细视图返回到列表视图时,它才会失去按下状态。

只要我从我的代码中删除 UITextView,没问题!

我认为它类似于 UITextView 获得焦点?

有什么办法可以避免这种情况吗?通过子类化等?

【问题讨论】:

【参考方案1】:

嗯,在我刚刚写的沙箱中没有看到这个。

创建了一个简单的基于导航的项目。 使用 XIB 向项目中添加了视图控制器;向 XIB 添加了 UITextField。 对根视图控制器进行了以下代码更改: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 返回 1;

在 cellForRowAtIndexPath 中:

cell.text = @"Push me";

在 didSelectRowAtIndexPath 中:

SimpleViewController *detailViewController = [[SimpleViewController alloc] initWithNibName:@"SimpleView" bundle:nil];

在 viewDidLoad 中:

self.navigationItem.title = @"Home";

选择“Push me”行突出显示该行并将 SimpleViewController 推入堆栈。选择“主页”后退按钮会将视图从堆栈中弹出,返回到表视图并取消选择/取消突出显示选定的行。无论 SimpleViewController 中的文本字段是否是返回导航时的第一响应者,这都是正确的。

【讨论】:

好吧,刚刚注意到一些事情,我使用的是 UITextView 实际上不是 UITextField ! 我看不出使用 UITextView 的行为有什么不同——和我上面描述的一样。

以上是关于初始化时如何使 UITextView 不成为焦点?的主要内容,如果未能解决你的问题,请参考以下文章

成为第一响应者后如何识别点击文本视图?

如何使键盘从 UITextView 中消失?

多页表单:使无效字段成为焦点

在 ReactJS 中使用 state 和 Function 组件时如何使输入不失去焦点?

添加文本和禁用滚动时如何使 UITextView 字段扩展?

如何成为从一个 UITextView 到另一个 UITextView 的响应者?