MBProgressHUD 显示方向异常

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

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

[cpp] view
plain
copy

  1. UIWindow *window = [[UIApplication sharedApplication] keyWindow];
  2. _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;

以上亲测没有问题

时间: 2024-10-12 19:56:46

MBProgressHUD 显示方向异常的相关文章

显示网络异常怎么办?

有时登录显示网络异常怎么办? 这个时候不要急,也不要慌! 等一会就好了,千万不要听小道消息乱操作! 正确的方法是,多点几下登录,有可能就上去了. 点了5下还是上不去,等2分钟再点!

LCD显示方向

一.ILI9341内存到显示地址的映射 本文只讨论“正常显示”,不讨论“垂直滚动显示”模式. 可以看到物理内存被两个指针访问,行指针和列指针,行指针范围从000h到013Fh,列指针范围为0000h到00EFh.也就是说,物理内存和LCD显示屏的对应关系是一种竖屏(240*320)的对应的关系.至于如何让GRAM数据显示到LCD屏上,不需要我们去考虑,只要知道这种对应关系就可以了. 那么ILI9341有8种显示方式:左上角->右下角(竖屏).左下角->右上角(竖屏).右上角->左下角(竖

viewPager使用时加载数据时显示IllegalStateException异常,解决不了。。。。

从newsPager中得到newsDetailTitles标题的详细内容,这是通过构造器传过来的.打印日志78行能打印,45行打印出来共size是12.但是程序出现了异常java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged. 从网上查询的结果是adapter中的数

JAVA中FileReader类读取文件显示FileNotFoundException 异常的解决办法

最近在看一个生信JAVA小软件的源码,然后试着自己写一下,但是在读取文件的时候发现一直出现"找不到文件"的异常,检查了各种环境变量和目录,最后终于找到了问题所在.下面的具体的错误情况: import java.io.FileReader; public class Test{ public static void main(String[] args) { FileReader a = new FileReader("a.txt"); System.out.prin

用OSSIM可视化显示SSH异常行为

当遇到SSH异常行为时我们通常选择到日志服务器上被动查看和分析日志,这样往往无法实时发现可疑IP的异常行为,下面通过OSSIM平台大数据分析智能筛选出疑似Attack行为. 场景再现:小张最近在使用某云服务器的过程中,被比特币Hacker光顾了服务器....,损失惨重.在备份好重要资料之后,重新安装了系统,没过多久服务器又挂了.在随后的调查中,小张在服务器中发现了一些蛛丝马迹,auth.log文件有很多不明IP通过22端口尝试以ssh用户名密码的方式登录服务器....#grep "Failed

MBProgressHUD 显示后,为何不能点击屏幕其他地方

解决办法: hud.userInteractionEnabled= NO;  就是这么简单粗暴!这个问题 我一定要发到首页候选区! /****************************************此处不用看,只是为了凑够150字**********************************************/

Laravel 5.4 中的异常处理器和HTTP异常处理实例教程

错误和异常是处理程序开发中不可回避的议题,在本地开发中我们往往希望能捕获程序抛出的异常并将其显示打印出来,以便直观的知道程序在哪里出了问题并予以解决,而在线上环境我们不希望将程序错误或异常显示在浏览器中(出于安全考虑),这个时候我们仍然要捕获异常,只不过不是显示到浏览器中,而是记录到日志中,方便日后排查问题. 百牛信息技术bainiu.ltd整理发布于博客园 Laravel当然支持PHP原生的错误和异常处理,但是在此基础上进行了一些封装处理,从而更方便在不同开发环境切换以及对错误和异常的处理.

Windows Phone开发(6):处理屏幕方向的改变

俺们都知道,智能手机可以通过旋转手机来改变屏幕的显示方向,更多的时候,对于屏幕方向的改变,我们要做出相应的处理,例如,当手机屏幕方向从纵向变为横向时,可能要重新排列页面上的控件以适应显示区域的变化. 前面我们讨论过,Silverlight for Windows Phone的页面布局有三个常用的布局控件,那么,当屏幕方向改变后,我们所做的对布局的更改基础上是基于这几个容器进行的操作. 本文我将通过三个示例来分别说明. 开始之前,先说一下PhoneApplicationPage类的Orientat

android 中处理崩溃异常并重启程序

有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在Android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问题,写篇文章记录一下. 首先捕获程序崩溃的异常就必须了解一下Java中UncaughtExceptionHandler这个接口,android沿用了此接口,在android API中: 通过实现此接口,能够处理线程被一个无法捕捉的异常所终止的情况.如上所述的情况,handler将会报告线程终止和不明