在UITextField上引入前面的DatePicker

Ant*_* F. 1 objective-c uidatepicker uitextfield uiview uikeyboard

当UITextField是firstResponder时,我想在没有"向下键盘"(没有调用UITextField resignFirstResponder)的情况下将UIDatePicker(屏幕的下半部分)带到前面.

目标是像UITextField的UIKeyboard一样进行处理,当它成为FirstResponder时,几乎可以弹出所有内容.modalViewController似乎只是全屏.


- showDatePicker:(id)sender {
    if([taskName isFirstResponder]) [taskName resignFirstResponder];
    [self.view.window addSubview: self.pickerView];

    // size up the picker view and compute the start/end frame origin
    (...)
    [UIView commitAnimations];

}
Run Code Online (Sandbox Code Playgroud)

这个例子是键盘下降的动画,而DatePicker上升,后面而不是前面.

你知道解决方案吗?一段代码将受到欢迎.提前致谢.

atr*_*eat 8

这可以通过将文本字段的输入视图设置为Picker View来完成.然后,在编辑确实开始告诉选择器视图成为第一响应者.像这样

textField.inputView = pickerView
Run Code Online (Sandbox Code Playgroud)

然后使用在编辑开始时调用的IBAction

-(IBAction) setPickerViewAsFirstResponder:(id)sender
{
    [pickerView becomeFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

这非常有效.您需要实现代码以实际设置选择器视图当前显示的内容仍然是文本字段中的字符串.