0

我有一个 iPad 应用程序(XCode 6.1、iOS 8.1.1、ARC 和 Storyboards)。在其中一个类(场景)中,我有以下代码:

-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField  { //  (prevents keyboard from showing)

if(textField.tag == 200) {  //  birthdate
    [self showModalCalendar:(int)textField.tag];
    return NO;  //  don't show k/b
}
else
    return YES;

}

它在第一个 textField 被选中时执行,遍历每个 textField 而不是等到每个 textField 被选中。这是一个问题,因为我想要完成的是仅在选择特定 UITextField(生日)时才显示模式日历,而不是显示键盘。发生的事情是,当我点击tab键(在硬键盘上)时,模式日历也会出现在每个 textField 中。

有什么办法可以防止这种情况发生吗?

4

2 回答 2

2

我的问题是 IQKeyboardManager 库。我从我的项目中删除了这个库,并且 DownPicker 工作正常。

于 2016-07-21T11:57:22.193 回答
0

而不是使用标签,您应该为要处理的特定 textView 创建一个 IBOutlet。然后,您可以在委托回调中测试 textView == 您的特殊选项。

原因是它比使用标签更明确、更清晰。我的猜测是,由于某种原因,您的其他一些文本视图具有相同的标签,因此您的条件没有像您认为的那样表现。

于 2015-01-11T17:52:31.737 回答