ios - Picker 尚未显示

标签 ios uipickerview

请问我有几个小时没有找到解决方案并为此向您致函 :)

我有 UIPickerView,当用户单击 UITextField 时,它必须从 View 底部显示(这是我的应用程序要求我必须做的),所以我实现了这个方法来捕捉文本字段的触摸事件:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

    UITouch *touch;
    touch=[touches anyObject];
    CGPoint point=[touch locationInView:self.view];
    if(CGRectContainsPoint([typeCarburantTextField frame],point))
    {
        [self pickerTypeCarburantsShow];

    }

}

以及这种防止在用户单击文本字段时显示键盘的方法:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

    return NO;

}

pickerTypeCarburantsShow

-(IBAction)pickerTypeCarburantsShow{

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        CGAffineTransform transform=CGAffineTransformMakeTranslation(0, 240);
        pickerViewTypesCarburants.transform=transform;
        [self.view addSubview:pickerViewTypesCarburants];
        [UIView commitAnimations];

    }

我所有的 IB 连接都很好,但是当我运行并单击 UITextField 时,键盘没有出现但我没有看到选择器显示 请帮忙,提前谢谢 :)

最佳答案

你可能想要的可能是这个..

UITextField 有这个属性,

输入 View

当文本字段成为第一响应者时显示的自定义输入 View 。

@property (readwrite, retain) UIView *inputView

讨论 如果此属性中的值为 nil,则文本字段在成为第一响应者时显示标准系统键盘。将自定义 View 分配给此属性会导致显示该 View 。

此属性的默认值为 nil。

因此,要显示另一个 View 而不是键盘,所需要做的就是设置该 View ,在本例中是 uipickerview 或其容器作为文本字段的 inputView...

例如,要显示一些 pickerview 而不是键盘,您可能想要

textView.inputView = [[UIPickerView alloc] initWithFrame:CGRectMake(...)];

关于ios - Picker 尚未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695633/

相关文章:

swift - 使用 UIPickerView 和 UITextField 进行计算

ios - 文本对齐 drawInRect 不工作

android - 如何混淆或加密客户端-服务器通信

ios - 在 Swift 中,当应用程序进入后台时,如何在 AppDelegate 中验证 NSTimer?

ios - 如何在ios中点击UITextView打开Pickerview(下拉菜单)?

ios - UIPickerView 未正确显示计算值

ios - 带有 UIPickerView 的个性化键盘问题

ios - 如何在使用 SWRevealViewController 时获取显示并重新加载菜单表的 View

iphone - 如何旋转 UIImage 以在网站/Facebook 上以正确的方向发布照片?

objective-c - 加载 UIPickerView 后选择行