30

其他一些人问过这个问题,但从未得到回答。这个问题似乎微不足道,但在 Apple 的文档或其他地方都没有解决。

我正在使用以下showInView方法展示我的 UIActionSheet 实例:

    UIActionSheet *myActionSheet = [[UIActionSheet alloc] initWithTitle:@"Test" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Destroy" otherButtonTitles:@"One", @"Two", nil];

    [myActionSheet showInView:self.view];

UIActionSheet 以它启动的任何方向呈现在中心,但是当我旋转 iPad 时,它会在top-right或中看到bottom-left(取决于方向是更改为纵向还是横向)。

如果将 Autoresizing Masks 设置为UIViewAutoresizingFlexibleBottomMarginand UIViewAutoresizingFlexibleRightMargin(这是大多数视图元素的默认 autoresizingMask 值),就会出现这种行为,因此我尝试通过调用setAutoresizingMaskUIActionSheet 实例上的方法来重置该值。

[myActionSheet setAutoresizingMask:UIViewAutoresizingNone];

但是,无论是 Autoresizing Mask 的这个值还是任何其他值都没有实现任何更改。

这个问题有什么解决办法吗?我宁愿不诉诸于解除UIActionSheet轮换并重新显示它——原则上这种方法似乎没有必要。

4

0 回答 0