UIToolBar 上的完成按钮不起作用 - iOS
Posted
技术标签:
【中文标题】UIToolBar 上的完成按钮不起作用 - iOS【英文标题】:Done button on UIToolBar does not operate - iOS 【发布时间】:2014-04-23 07:51:06 【问题描述】:我正在尝试创建一个带有已完成按钮的栏的选择器。
我尝试如下实现;
viewForDatePicker = [[UIView alloc]initWithFrame:CGRectMake(0, 300, 320, 266)];
[viewForDatePicker setBackgroundColor:[UIColor whiteColor]];
UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
toolBar.barStyle = UIBarStyleBlackOpaque;
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self action:@selector(doneButtonPressed:)];
UIButton * doneButton =[[UIButton alloc]initWithFrame:CGRectMake(290, 2, 30, 20)];
[doneButton setBackgroundColor:[UIColor redColor]];
[doneButton addTarget:self action:@selector(doneButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[viewForDatePicker addSubview:doneButton];
[toolBar setItems:[NSArray arrayWithObject:btn]];
[viewForDatePicker addSubview:toolBar];
birthDatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 44, 320, 266)];
[birthDatePicker setDatePickerMode:UIDatePickerModeDate];
[birthDatePicker setBackgroundColor:[UIColor whiteColor]];
[viewForDatePicker addSubview:birthDatePicker];
[self.view addSubview:viewForDatePicker];
不幸的是,完成按钮无法执行。这段代码有什么问题?
你能帮帮我吗
【问题讨论】:
你能分享 doneButtonPressed 的代码吗?并且还想让您注意到您在“btn”和“doneButton”中使用相同的选择器方法。 按钮顶部的日期选择器?尝试在日期选择器之后添加按钮。 @CW0007007 你的答案是正确的 已添加答案。标记为对其他人正确。 【参考方案1】:您首先将按钮添加到视图中。 因此,当您添加日期选择器时,它位于按钮上方。这就是按钮不响应触摸的原因。 改为:
birthDatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 44, 320, 266)];
[birthDatePicker setDatePickerMode:UIDatePickerModeDate];
[birthDatePicker setBackgroundColor:[UIColor whiteColor]];
[viewForDatePicker addSubview:birthDatePicker];
UIButton * doneButton =[[UIButton alloc]initWithFrame:CGRectMake(290, 2, 30, 20)];
[doneButton setBackgroundColor:[UIColor redColor]];
[doneButton addTarget:self action:@selector(doneButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[viewForDatePicker addSubview:doneButton];
[toolBar setItems:[NSArray arrayWithObject:btn]];
[viewForDatePicker addSubview:toolBar];
【讨论】:
以上是关于UIToolBar 上的完成按钮不起作用 - iOS的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 7 中向 UIToolbar 添加更大的按钮项?