MBProgressHUD 显示方向异常
2017-05-01 18:10
190 查看
一直在iphone上使用MBProgressHUD做提示信息视图。一直都没有什么问题,但用在ipad上使用时。却有时会出现显示方向不正常。如ipad屏幕是横的,但当MBProgressHUD出现时却依照竖屏的方向进行显示,一直不解,细致看了出现的情况,发现有2种情况会出现方向异常:1.用 presentViewController 出来的控制器,且方向固定,方向与设备方向不一致。2.当UIAlerView和MBProgressHUD一起出现的时候。
我们初始化MBProgressHUD时可能会用到以下方式初始化
[cpp] view
plaincopy
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
_hud = [[MBProgressHUD alloc] initWithWindow:window];
可是当UIAlertView出现时会又一次初始化一个UIWindow并设置为keyWindow,这时当使用[[UIApplication shareApplication] keyWindow] 时获取到的就不是你本意想拿到的应用程序的UIWindow。另外UIAlertView的UIWindow方向可能就不是横屏的了,所以才出现以上的情况;
解决:使用
_hud = [[MBProgressHUD alloc] initWithView:view];
初始化即可了
还有还有一种情况
当你在UIAlertView托付方法
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;用第一种方法显示(即须要获取keyWindow),还是不能获取到主程序的keyWindow,
解决方法 用还有一个托付就能够了
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex;
以上亲測没有问题
我们初始化MBProgressHUD时可能会用到以下方式初始化
[cpp] view
plaincopy
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
_hud = [[MBProgressHUD alloc] initWithWindow:window];
可是当UIAlertView出现时会又一次初始化一个UIWindow并设置为keyWindow,这时当使用[[UIApplication shareApplication] keyWindow] 时获取到的就不是你本意想拿到的应用程序的UIWindow。另外UIAlertView的UIWindow方向可能就不是横屏的了,所以才出现以上的情况;
解决:使用
_hud = [[MBProgressHUD alloc] initWithView:view];
初始化即可了
还有还有一种情况
当你在UIAlertView托付方法
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;用第一种方法显示(即须要获取keyWindow),还是不能获取到主程序的keyWindow,
解决方法 用还有一个托付就能够了
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex;
以上亲測没有问题
相关文章推荐
- iphone--MBProgressHUD 显示方向异常(keyWindow问题)
- MBProgressHUD 显示方向异常
- iOS 上传的图片在HTML上显示时,图片方向信息(EXIF Orientation)异常
- MBProgressHud的显示异常有问题(有黑色菱形)
- 解决DocType引起AjaxTookit的ModulPopup显示异常问题的方法
- wxPython 显示幽灵般的异常信息
- .htm .html文件图标显示异常的解决办法
- Exchange 2003 OWA 访问显示异常
- Symbian S60开发,在真机上显示panic异常信息。
- 添加/删除程序空白窗口及控制面板窗口显示异常问题的解决方法
- Eclispe RCP 异常处理 显示异常对话框
- 怎么样获取浏览器“该页无法显示”这类的异常 - -
- 前端服务器OWA 访问显示异常最佳解决方案 推荐
- 从WinForm程序中显示WPF Window出现"The URI prefix is not recognized"异常的解决方法
- Flex中如何在用户按住TextArea滚动条(横竖方向)拖动时显示ToolTips
- Ext.app.SearchField在IE8中显示异常的问题
- .htm .html文件图标显示异常的解决办法
- VC下捕获并显示异常(调试状态下)
- 纸牌显示的方向
- UI设计技巧-Div封闭式Div导致页面显示异常