在我的应用程序中,我创建了一个自定义警报视图。在旋转设备时,自定义警报视图也会旋转,但警报视图的大小会自动更改。我该如何解决这个问题?
第一张图片是旋转前的警报视图,第二张图片是“镜像/风景”旋转之后。 有人可以帮我解决这个问题吗?
我使用以下代码来调整alertview的框架,
- (void)willPresentAlertView:(UIAlertView *)alertView
{
if( UIDeviceOrientationIsPortrait( [UIApplication sharedApplication].statusBarOrientation ) )
{
alertView.frame = CGRectMake(208.0f, 412.f, 352.f, 180.f);
}
else
{
alertView.frame = CGRectMake(336.0f, 284.f, 352.f, 180.f);
}
如果在视图中存在alertview时旋转设备,则会出现此问题
答案 0 :(得分:1)
如果是继承标准uialertview,那么你必须使用下面的
设置框架- (void)setFrame:(CGRect)frame {
frame.size = CGSizeMake(352.0, 180.0);
[super setFrame:frame];
}
希望这有帮助
答案 1 :(得分:0)
只需写下两行
[YourCustomView setAutoresizesSubviews:NO];
YourCustomView.autoresizingMask = UIViewAutoresizingNone;
试试这个