UIScrollView 使 UITextField 停止调用 UIPicker
Posted
技术标签:
【中文标题】UIScrollView 使 UITextField 停止调用 UIPicker【英文标题】:UIScrollView makes UITextField stop calling UIPicker 【发布时间】:2013-01-14 19:17:28 【问题描述】:开始。我已经在 SO 和其他地方对此进行了研究,但没有找到问题的确切答案。我见过类似的问题,但不一样。我有一个功能齐全的应用程序,它使用选择器填充大约 5 个文本字段。当用户点击文本字段时,选择器就会出现,一切都很好。我最近想扩大文本字段之间的空间以使其看起来更好。但是我没有足够的空间。所以我想我可以将文本字段放入滚动视图中,这样就可以了。但是,当我连接我的操作“showYourPicker”时,选择器不再出现,常规键盘会出现。我什至尝试将视图设为 UITextfieldDelegate 并运行
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
[self showYourPicker:self];
return NO;
显示我的选择器并隐藏键盘,但这不起作用。我知道我已经正确连接了文本字段,因为如果我删除滚动视图并将其全部连接起来,一切都会恢复正常。那么,当文本字段位于滚动视图内时,我该怎么做才能显示选择器而不是默认键盘。提前致谢。如果您需要更多代码,请告诉我。
【问题讨论】:
您是否将 textField 的 inputView 属性设置为您的选择器?这是正确的做法。 @calvinBhai。是的,我在方法 showYourPicker 中设置了它。它适用于应用程序的所有其他选项卡,除了我放入滚动视图的选项卡。我应该在其他地方设置该属性吗?谢谢。 理想情况下,你应该做你的 textField.inputView = yourPickerView;当文本字段被创建或添加到视图时。 那么也许在视图中会出现或者视图确实加载了? 是的,无论你在哪里做你的 UITextField *theTextField = [[UITextField alloc] init];,就在那之后 【参考方案1】:无论你在哪里做这个
UITextField *theTextField = [[UITextField alloc] init];
然后做这个
textField.inputView = yourPickerView;
【讨论】:
以上是关于UIScrollView 使 UITextField 停止调用 UIPicker的主要内容,如果未能解决你的问题,请参考以下文章
使 UIScrollView 表现得像 UIPageControl
如何使 UIButton 与 UIScrollView 一起移动
如果我在 UIScrollView 中有 UIViewController,如何以编程方式使 UIScrollview zoomToRect?