其他一些人问过这个问题,但从未得到回答。这个问题似乎微不足道,但在 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 设置为UIViewAutoresizingFlexibleBottomMargin
and UIViewAutoresizingFlexibleRightMargin
(这是大多数视图元素的默认 autoresizingMask 值),就会出现这种行为,因此我尝试通过调用setAutoresizingMask
UIActionSheet 实例上的方法来重置该值。
[myActionSheet setAutoresizingMask:UIViewAutoresizingNone];
但是,无论是 Autoresizing Mask 的这个值还是任何其他值都没有实现任何更改。
这个问题有什么解决办法吗?我宁愿不诉诸于解除UIActionSheet
轮换并重新显示它——原则上这种方法似乎没有必要。