【发布时间】:2016-01-21 01:53:54
【问题描述】:
我遇到了问题,因为 UIToolBar 上的 UIBarbuttonItem 的操作没有被调用。
在下面的代码中,虽然toolBar上的doneBtn被点击了,但是doneBtnAction:的动作没有被调用。
你有什么解决办法吗?
- (void)viewDidLoad {
UIPickerView *pickerView = [[UIPickerView alloc] init];
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, -44, 320, 44)];
UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneBtnAction:)];
UIBarButtonItem *flex = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
toolBar.items = @[flex, doneBtn];
[pickerView addSubview:toolBar];
UITextField *textField = [[UITextField alloc] init];
textField.inputView = pickerView;
}
- (void)doneBtnAction:(UIBarButtonItem *)sender {
NSLog(@"%@", sender);
}
【问题讨论】:
-
你看到
doneBtn动画水龙头了吗?toolBar如何在pickerView中定位? -
调试
UIPickerView、UIToolbar、UITextField框架的视图层次结构。希望对你有帮助
标签: ios objective-c uipickerview uibarbuttonitem uitoolbar