iOS 7:在UIActionSheet委托函数中创建的UIAlertView无法自动旋转

时间:2013-10-21 09:43:42

标签: ios ios7 uialertview uiactionsheet uialertviewdelegate

该问题只能在iOS 7中重现。

在委托函数中:- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex,如果创建了UIAlertView,则警报视图无法自动旋转。以下是示例代码:

- (IBAction)buttonTapped:(id)sender
{
    UIActionSheet *actionSheet = [[UIActionSheet alloc]
                                  initWithTitle:@"action sheet"
                                  delegate:self
                                  cancelButtonTitle:@"cancel"
                                  destructiveButtonTitle:@"ok"
                                  otherButtonTitles:nil];
    [actionSheet showInView:self.view];
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:@"alert"
                          message:nil
                          delegate:self
                          cancelButtonTitle:@"ok"
                          otherButtonTitles:nil];
    [alert show];
}

这是iOS 7的错误吗?如果是,是否有任何方法可以使警报视图与屏幕中的其他视图一起自动旋转?

1 个答案:

答案 0 :(得分:3)

尝试使用UIActionSheet的另一个委托方法呈现alertview。这确实有效:

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex

这肯定看起来像是iOS7中的一个错误:)