【问题标题】:How to open a Pickerview(dropdown) on UITextView click in ios?如何在 ios 中点击 UITextView 打开 Pickerview(dropdown)?
【发布时间】:2014-11-13 08:13:23
【问题描述】:

我正在做一个项目,我想在其中添加一个用于选择类别的下拉列表。 请查看屏幕截图(目前仅限UITextField)。

当用户点击 UITextField 时,我如何在屏幕底部显示 PickerView

我尝试了一些代码,但它们都不起作用

    - (BOOL) textFieldShouldBeginEditing:(UITextView *)textView
{
    pickrView.frame = CGRectMake(0, 400,self.view.frame.size.width,300);
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:.50];
    [UIView setAnimationDelegate:self];
    pickrView.frame = CGRectMake(0, 200, pickrView.frame.size.width, pickrView.frame.size.height);
    [self.view addSubview:pickrView];
    [UIView commitAnimations];
    return NO;
}

【问题讨论】:

  • Pickerview 是否添加
  • [self.view addSubview:pickrView];在动画之前添加

标签: ios objective-c drop-down-menu uitextfield uipickerview


【解决方案1】:

单击文本字段时,您需要一个选择器视图而不是键盘。因此,您必须在创建文本字段时将 pickerview 分配给 UITextField 的“inputview”属性。

让我用一个例子来解释一下。

首先创建文本字段

- (void)viewDidLoad
{
    [super viewDidLoad];
     UITextField *cellTextField = [[UITextField alloc] init];
     cellTextField.frame = CGRectMake(20, 12, 180, 20);
     cellTextField.inputView = [self createPicker];
}

创建 PickerView

- (UIView *)createPicker {

    UIView *pickerView = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 216)];
    pickerView.backgroundColor = [UIColor colorWithRed:109.0/255.0 green:110.0/255.0 blue:120.0/255.0 alpha:1];

    UIPickerView *picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 45, 300, 120)];
    picker.delegate = self;
   [pickerView addSubview:picker];

   return pickerView;

}

通过这样做,您将在点击文本字段时获得pickerview。

【讨论】:

    猜你喜欢
    • 2015-09-11
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多