作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种方法让 UIPickerView 显示“完成”、“取消”按钮。
谷歌搜索我发现了很好的帖子,所有帖子都涉及 UIActionSheet。
所以我这样做了
容器是一个UIView
actionSheet 是一个 UIActinSheet
pickerView 是一个 UIPickerView
在viewDidLoad中:
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 都在底部,我看不到。
我在这里做错了什么?
最佳答案
操作表旨在更像警报一样使用,因为它们是独立的“立即做出选择”演示者。它们通常只在 iPhone 上部分显示。
您的选择器应该独立于操作表。如果您想要“完成”和“取消”按钮,也许您会考虑将它们添加到选择器的导航栏中?
关于objective-c - UIActionSheet 中途出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11470740/
我有一个 SKSpriteNode (monsterNode) 的子类。它使用矢量自动在屏幕上运行以跟随玩家。我目前正在使用以下操作使其运行: SKAction *actionMove = [SKAc
我是一名优秀的程序员,十分优秀!