0

在我的应用程序中,当我单击更改图像时,它会要求 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];
}
4

5 回答 5

2

这是因为...我认为您正在使用默认视图大小 -Retina 4 全屏作为您的视图大小...只需尝试从属性检查器将您的视图大小更改为 Retina 3.5 全屏...!!!

于 2013-07-29T11:22:22.823 回答
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];
于 2013-07-29T10:50:17.183 回答
1

您可能想查看在类参考中显示操作表的替代方法。但是,您可能想尝试使用以下方法之一(如果您有工具栏)

– showFromBarButtonItem:animated:
– showFromToolbar:

此外,使用以下

actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;

只会导致默认的操作表样式。

于 2013-07-29T10:50:36.847 回答
0

因为你的问题不在于你的代码。也许您使用了错误的方法来显示您的 UIActionSheet。

可以使用以下方法显示 UIActionSheet:

– showFromTabBar:
– showFromToolbar:
– showInView:
– showFromBarButtonItem:animated:
– showFromRect:inView:animated:

看看Apple 的 UIActionSheet 参考

由于您使用的是 TabBar,因此“取消”按钮也可能位于下方。我也会测试一下。

于 2013-07-29T11:24:07.273 回答
0

请参考此链接

您也可以参考以下代码,它可能会对您有所帮助:

(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];

    }
于 2013-07-29T11:20:37.203 回答