Spo*_*ude 2 xcode uidatepicker uitextfield ios
这个很难解释,因此请提出您需要的任何问题来澄清问题.我有一个iPad应用程序(XCode 4.2,iOS 6,ARC和Storyboards).
在这个应用程序中,我有一个UIPopover包含UIView两个(2)UITextFields和一个UIDatePicker.(见图).当我去那个场景时,我已经取消选中userInteractionEnabled两个textFields以防止键盘响应,这有效,但不允许UITextField在第一个之后访问另一个.我尝试了[oFinishTime setInputView:oTimePicker];但它需要时间戳并将其移到弹出窗口之外,这是不可接受的.

我touchUpInside为每个textField都设置了"有线"事件,但由于未选中UserInteractionEnabled,因此在点击时都不会调用任何事件.如果我可以启用它并在动作事件中设置一个标志,我可以补救这一切.
如何启用这两个功能UITextFields但是阻止键盘显示?我很乐意发布您需要查看的任何相关代码.
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // return NO to disallow editing.
Run Code Online (Sandbox Code Playgroud)
为每个文本字段分配委托,并在委托方法中验证是否应该打开选择器而不是键盘.如果是那个则返回NO否则为YES
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
if (textfield == startTimeTextField)
{
[self openPicker];
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
可能是我没有正确理解您的问题,但似乎您要做的就是打开一个选择器并显示在 UIPicker 中设置的值。您并没有真正使用 UItextField 的任何功能。一个标签或一个按钮可能具有相同的目的,并使您免于执行禁用键盘的额外工作。
在任何情况下,如果您想使用文本字段并禁用键盘选择器作为输入视图出现并拥有自己的输入视图,您可以这样做
-(void)textFieldDidBeginEditing:(UITextField *)textField{
[textField resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
你可以看看这个: Display datepicker on tap on textfield
| 归档时间: |
|
| 查看次数: |
6512 次 |
| 最近记录: |