zoukankan      html  css  js  c++  java
  • MBProgressHUD 显示方向异常

    一直在iphone上使用MBProgressHUD做提示信息视图。一直都没有什么问题,但用在ipad上使用时。却有时会出现显示方向不正常。如ipad屏幕是横的,但当MBProgressHUD出现时却依照竖屏的方向进行显示,一直不解,细致看了出现的情况,发现有2种情况会出现方向异常:1.用 presentViewController 出来的控制器,且方向固定,方向与设备方向不一致。2.当UIAlerView和MBProgressHUD一起出现的时候。

    我们初始化MBProgressHUD时可能会用到以下方式初始化

    1. UIWindow *window = [[UIApplication sharedApplication] keyWindow];  
    2. _hud = [[MBProgressHUD alloc] initWithWindow:window];  

    可是当UIAlertView出现时会又一次初始化一个UIWindow并设置为keyWindow,这时当使用[[UIApplication shareApplication] keyWindow] 时获取到的就不是你本意想拿到的应用程序的UIWindow。另外UIAlertView的UIWindow方向可能就不是横屏的了,所以才出现以上的情况;

    解决:使用 

    _hud = [[MBProgressHUD allocinitWithView:view];

    初始化即可了

    还有还有一种情况

    当你在UIAlertView托付方法

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;用第一种方法显示(即须要获取keyWindow),还是不能获取到主程序的keyWindow,

    解决方法 用还有一个托付就能够了

    - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex;

    以上亲測没有问题

  • 相关阅读:
    Adobe产品在Lion上的已知问题
    SAP HANA能否推动实时应用?
    如果Android与Chrome合体?
    基于MINA构建简单高性能的NIO应用MINA架构
    Drupal 测试邮件发送
    jQuery doTimeout插件: 比setTimeout实用
    Raven – 社会化浏览器
    LSO/Flash Cookie
    CSS3动画效果animate.css
    seaJs的模块定义、模块加载及模块依赖关系
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6792378.html
Copyright © 2011-2022 走看看