【问题标题】:UIScrollView makes UITextField stop calling UIPickerUIScrollView 使 UITextField 停止调用 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];,就在那之后

标签: ios uiscrollview uitextfield uipicker


【解决方案1】:

无论你在哪里做这个

UITextField *theTextField = [[UITextField alloc] init];

然后做这个

textField.inputView = yourPickerView;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    相关资源
    最近更新 更多