CustomIOS7AlertView横向模式

时间:2016-11-30 16:33:44

标签: ios objective-c uialertview

我尝试使用带有文字和图片的 CustomIOS7AlertView 创建CustomAlertview。因为我读到使用简单的AlertView时无法在添加图像时设置最大高度...

我的问题是:我用图像创建了CustomAlertView,但我无论如何,对于IPAD(在横向上),它以横向模式显示。它始终显示为垂直。

我尝试过旋转customAlertview,但我还没有成功......

有人可以帮助我吗?

这是我的代码:

UIView * vista =  [[UIView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)];
UIImageView *imgView;

if (([[UIDevice currentDevice].model rangeOfString:@"iPad"].location!=NSNotFound)) {

    imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 400, 400)];

} else {

    imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];   
}

[imgView setImage:img];
[vista addSubview:imgView];            

CustomIOS7AlertView *alertView = [[CustomIOS7AlertView alloc] init];
[alertView setContainerView:vista];

[alertView show];

screenshot of the problem

谢谢!!!

2 个答案:

答案 0 :(得分:2)

在CustomIOS7AlertView中放置观察者以进行方向更改,然后在每次更改方向时使视图正确定向。

请参阅:Detecting iOS UIDevice orientation了解有关方向更改通知的详情。

答案 1 :(得分:0)

解决了!正如同事noir_eagle所说,问题出现在 show CustomIOS7AlertView.m )方法中,特别是不得不修改以下行影响轮换:

UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation];
        switch (interfaceOrientation) {
            case UIInterfaceOrientationLandscapeLeft:
                **self.transform = CGAffineTransformMakeRotation(M_PI * 360 / 180.0);**

非常感谢! ;)