简单的实现UIpicker上面的取消确定按钮

时间:2023-03-09 16:05:41
简单的实现UIpicker上面的取消确定按钮

1 因为我用的xib实现的添加picker 和textfiled的,

  1. @interface ViewController : UIViewController<UITextFieldDelegate,UIPickerViewDelegate,UIPickerViewDataSource>{
  2. UIToolbar *tool;//主要用这存放按钮
  3. }
  4. @property (retain, nonatomic) IBOutlet UIDatePicker *picker;
  5. @property (retain, nonatomic) IBOutlet UITextField *text;
  6. @property (retain, nonatomic) IBOutlet UITextField *textField;
  7. @end

tool;

控件,
  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. tool = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 30.0f)];
  5. tool.barStyle = UIBarStyleBlackTranslucent;//实现Uitoolbar,他的位置不重要,主要是大小,
  6. //toolbar上面放得就是items控件,因为是在左右两边都放一个,中间没有,中间放了2个空的可以达到效果,因为自己不能实现item自动位置放置,
  7. UIBarButtonItem *previousBarItem = [[UIBarButtonItem alloc] initWithTitle:@"取消"  style:UIBarButtonItemStyleBordered
  8. target:self
  9. action:@selector(previousField:)];
  10. //空的itme占空位
  11. UIBarButtonItem *nextBarItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
  12. target:nil
  13. action:nil];
  14. UIBarButtonItem *spaceBarItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
  15. target:nil
  16. action:nil];
  17. UIBarButtonItem *doneBarItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"完成", @"")
  18. style:UIBarButtonItemStyleDone
  19. target:self
  20. action:@selector(resignKeyboard:)];
  21. <span style="white-space:pre">  </span>//添加到tool上面
  22. [tool setItems:[NSArray arrayWithObjects:previousBarItem,nextBarItem,spaceBarItem,doneBarItem,nil]];
  23. _text.inputView=_picker;//这块设置比较重要,textfiled的inputview是picker,
  24. _text.delegate=self;
  25. _text.inputAccessoryView=tool;//textfiled 的inputAccessoryview的是tool,原因我也具体不是不说了,看别人的,
  26. _textField=[[UITextField alloc]init];//这个临时的textfiled主要是实现picker的弹回去,就是隐藏,
  27. }
  28. -(void)textFieldDidBeginEditing:(UITextField *)textField{
  29. _textField=textField;//把textfiled控件赋予给临时的textfiled控件
  30. }
  31. -(void)resignKeyboard:(id)sender{
  32. //实现picker隐藏,实现方法和键盘弹起收回一样,具体原因也不是很明白,
  33. [_textField resignFirstResponder];<span style="color:#ffffff;">
  34. }</span>

上面就是简单的实现tool的添加,