【问题标题】:How to add a done button over the pickerview?如何在pickerview上添加完成按钮?
【发布时间】:2011-08-01 07:11:04
【问题描述】:

我想在选择器视图上方显示一个选择器视图和一个完成按钮

我有一个自定义标签,它将成为第一响应者。因此,当它成为第一响应者时,我将显示一个选择器视图作为我的标签的输入视图。 现在我想在选择器上有一个完成按钮来关闭选择器视图。我玩了 UIPickerViewinputAccesoryView 属性,但没有成功。 inputAccessoryView 可以使用 UITextView ,不确定 UIPickerView 。这是如何使用 UITextView

完成的链接

UITextView with “Done” button and “Return” key?

有没有人试过这个,如果有人知道如何为picker做这个,请回答。

提前谢谢大家!!

【问题讨论】:

  • 成为第一响应者的自定义标签?你是说文本域吗?
  • 您的视图是在 nib 中还是在代码中?
  • @Nick Weaver,我创建了一个 UILabel 的子类来实现第一响应者的事情

标签: iphone objective-c uiview uitextview uipickerview


【解决方案1】:

我认为您可以尝试将选择器放在带有“完成”按钮的视图中并呈现该视图

【讨论】:

  • 是的,但这会更复杂,而不是 Jhaliya 上面提供的链接解释了一种更简单的方法。 . .谢谢
【解决方案2】:

将您的选择器视图添加到操作表。首先确保你的视图控制器隐含了 UIPickerViewDelegate 和 UIActionSheetDelegate。

然后添加这个方法,当你想显示你的选择器时调用它。

- (void)showPicker {    
    UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Pick Value"
                                                      delegate:self
                                             cancelButtonTitle:@"Done"
                                        destructiveButtonTitle:nil
                                             otherButtonTitles:nil];

    UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0,180,0,0)];
    pickerView.delegate = self;
    pickerView.dataSource = self;
    pickerView.showsSelectionIndicator = YES;    

    [menu addSubview:pickerView];
    [menu showInView:self.view.superview];

    //Change the height value in your CGRect to change the size of the actinsheet
    [menu setBounds:CGRectMake(0,0,320, 615)];

    [pickerView release]; 
    [menu release]; 
}

【讨论】:

  • 是的,这就是想法,它不会奏效。 Jhaliya 提到的上述链接给出了完整的解决方案。
  • 这违反了 Apple 的政策。
  • 克里斯很可能是,但这与上面的问题无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 2013-12-10
相关资源
最近更新 更多