在我的应用程序中,当我点击更改图像时,它要求UIActionsheet有三个操作拍照,从库中选择并取消。拍照,从库中选择显示但是取消没有显示问题出在哪里。 这是我的代码
- (void)viewDidLoad
{
[super viewDidLoad];
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image from..."
delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Take Photo", @"Choose from library", nil];
actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
[actionSheet showInView:self.view];
}
答案 0 :(得分:2)
因为...我认为您使用默认视图大小-Retina 4全屏作为您的视图大小...只需尝试将视图大小更改为属性检查器中的Retina 3.5全屏... !! !
答案 1 :(得分:1)
尝试这个...
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image from..."
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"Cancel"
otherButtonTitles:@"Take Photo", @"Choose from library", nil];
actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
[actionSheet showInView:self.view];
答案 2 :(得分:1)
您可能需要查看在class reference中显示操作表的替代方法。但是,您可能想尝试使用以下之一(如果您有工具栏)
– showFromBarButtonItem:animated:
– showFromToolbar:
此外,使用以下
actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
只会导致操作表样式成为默认值。
答案 3 :(得分:0)
请参阅this link。
你也可以参考下面的代码,它可以帮助你:
(void)viewDidLoad
{
UIActionSheet * actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image from..." delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Take Photo", @"Choose from library", nil];
[actionSheet showInView:self.view];
}
答案 4 :(得分:0)
由于您的问题与您的代码无关。也许您使用了错误的方法来显示您的UIActionSheet。
可以使用以下方法显示UIActionSheet:
– showFromTabBar:
– showFromToolbar:
– showInView:
– showFromBarButtonItem:animated:
– showFromRect:inView:animated:
看看Apple's UIActionSheet reference。
由于您使用TabBar,因此“取消”按钮也可能位于下方。我也会测试一下。