有许多其他人问过这个问题,但从未得到答案。这个问题似乎很琐碎,但在苹果的文档或其他地方都没有被解决。
我正在使用showInView
方法展示我的UIActionSheet实例:
UIActionSheet *myActionSheet = [[UIActionSheet alloc] initWithTitle:@"Test" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Destroy" otherButtonTitles:@"One", @"Two", nil];
[myActionSheet showInView:self.view];
UIActionSheet在启动时无论是哪个方向,都会呈现在中心位置,但是当我旋转iPad后,它会出现在右上角
或者左下角
(取决于是否更改方向为纵向或横向)。
如果Autoresizing Masks被设置为UIViewAutoresizingFlexibleBottomMargin
和UIViewAutoresizingFlexibleRightMargin
,那么这种行为是可以预期的。大多数视图元素的默认autoresizingMask值都是这样,因此我尝试通过调用UIActionSheet实例的setAutoresizingMask
方法来重置该值。
[myActionSheet setAutoresizingMask:UIViewAutoresizingNone];
但是无论选择哪种自动调整大小掩码的值,都不会产生任何变化。
有没有解决这个问题的方法?我希望不要通过在旋转时取消UIActionSheet
并重新显示它来解决——这种方法原则上似乎是不必要的。