iphone--MBProgressHUD 显示方向异常(keyWindow问题)
来源:互联网 发布:万方数据库文献下载 编辑:程序博客网 时间:2024/06/04 18:46
一直在iphone上使用MBProgressHUD做提示信息视图,一直都没有什么问题,但用在ipad上使用时,却有时会出现显示方向不正常,如ipad屏幕是横的,但当MBProgressHUD出现时却按照竖屏的方向进行显示,一直不解,仔细看了出现的情况,发现只在当UIAlerView和MBProgressHUD一起出现的时候才有出现以上的情况
看了MBProgressHUD的源码,想了下原因可能如下
我们初始化MBProgressHUD时可能会用到下面方式初始化
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 显示方向异常
- MBProgressHud的显示异常有问题(有黑色菱形)
- MBProgressHUD 显示问题
- 关于MBProgressHUD显示问题
- MBProgressHud的显示问题
- MBProgressHUD不能立即显示问题
- IOS MBProgressHUD 无法显示的问题
- iOS11 解决MBProgressHUD弹框不显示问题
- MBProgressHUD 问题
- keyWindow
- Keywindow添加子视图不显示
- KeyWindow上添加子视图未显示
- MBProgressHUD 显示等待框
- Sometimes MBProgressHUD不能显示
- MBProgressHUD换行显示文字
- 【iphone开发】MBProgressHUD的使用方法
- UIApplication keyWindow rootViewController 为 nil 的问题
- kinect+ogre骨架追踪及手势识别(基于微软kinectSDK)
- 分析一段H264视频数据
- 苹果新掌门库克:两次临危受命的实干家
- Ogre中的alpha混合
- 日本地震致索尼工厂被浸泡 海啸冲走12万台PS3
- iphone--MBProgressHUD 显示方向异常(keyWindow问题)
- cocos2d-x总结
- VeryCD解读未来四大发展方向:不排除收费下载 [
- PHP出现Notice: Undefined index: act in C:\警告提示
- linux 服务——DNS服务
- 开发过快 Firebug开发者跳槽到Chrome
- 迅雷IPO上市时间延至21日 估值将达9亿美元
- Android基于XMPP Smack Openfire开发IM(1)搭建openfire服务器
- 百度承诺月底删除盗版链接