我正在寻找一种让UIPickerView显示“完成”,“取消”按钮的方法 谷歌搜索我找到了很好的帖子,所有人都有UIActionSheet参与。
所以我做了那个
容器是UIView
actionSheet是UIActinSheet
pickerView是UIPickerView
container = [[[UIView alloc] initWithFrame:CGRectMake(rect.origin.x,rect.origin.y, rect.size.width, rect.size.height)] autorelease];
[self.view addSubview:container];
actionSheet = [[UIActionSheet alloc] initWithTitle:@"myTitle"
delegate:nil
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
[actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
CGRect pickerFrame = CGRectMake(0, 40, 0, 0);
pickerView = [[[UIPickerView alloc] initWithFrame:pickerFrame]autorelease];
pickerView.showsSelectionIndicator = YES;
pickerView.dataSource = self;
pickerView.delegate = self;
UIToolbar *toolbar = [[[UIToolbar alloc] init] autorelease];
toolbar.frame = CGRectMake(0, 0, self.view.frame.size.width, 44);
NSMutableArray *items = [[[NSMutableArray alloc] init] autorelease];
[items addObject:[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(dismissActionSheet)] autorelease]];
[items addObject:[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:@selector(goActionSheet)] autorelease]];
[items addObject:[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(goActionSheet)] autorelease]];
[toolbar setItems:items animated:NO];
[actionSheet addSubview:toolbar];
[actionSheet addSubview:pickerView];
[actionSheet showInView:container];
[actionSheet setBounds:CGRectMake(0, 0, 320, 485)];
该应用程序开始很棒,并且整个事情显示出很好的应该是在线:[actionSheet showInView:container];
现在,当我尝试关闭ActionSheet时,效果很好!
dismissActionSheet :中的
[actionSheet dismissWithClickedButtonIndex:1 animated:NO];
问题是,如何让它再次出现?
当我使用时:
[actionSheet showInView:container];
我只能通过按钮从底部选择工具栏,就是这样。整个PickerView位于底部,我看不到它。
我在这里做错了什么?
答案 0 :(得分:1)
行动表的用途更像警报,因为它们是独立的“立即选择”演示者。它们通常只在iPhone上显示部分。
您的选择器应独立于操作表。如果您想要“完成”和“取消”按钮,您可能会考虑将它们添加到选择器的导航栏中吗?
答案 1 :(得分:0)
您可以使用带有Done和Cancel按钮的 UIToolBar ,使用PickerView,这很容易。