ios MBProgressHUD
来源:互联网 发布:网络建设方案 编辑:程序博客网 时间:2024/05/20 16:42
最近使用了开源类MBProgressHUD。有几个值得总结的地方!
(1)初始化MBProgressHUD
请看代码:
方法二:
请看代码:
当隐藏状态栏时,方法二会导致状态栏再次出现时和视图重叠。而换用方法一则是正常的。
备注:上面的代码来自“MBProgressHUD-master.zip”实例工程(下载地址:https://github.com/jdg/MBProgressHUD)。
(2)MBProgressHUD显示时,默认会阻塞它所在的视图上所有控件的活动事件,导致用户只能干等,直到MBProgressHUD消失(隐藏)。
如果我们想在MBProgressHUD显示时,仍然能点击视图上的其他按钮呢?比如,点击“返回”回到前一个视图界面。
有两个方法可以解决这个问题!
方法一:
自定义一个子视图(如:mySubview),专门用于addSubview:HUD。
HUD = [[MBProgressHUD alloc] initWithView:self.mySubview];
[self.mySubview addSubview:HUD];
关于mySubview的初始化省略,需要明确的一点是:
[self.view addSubview:self.mySubview];
备注:方法一还未经过验证。
方法二:
一个简单的方法:
在初始化HUD时,增加下面的语句:
HUD.userInteractionEnabled = NO;
备注:方法二有效!在MBProgressHUD时,视图上控件的活动事件不会被阻塞。
【参考资料】
(1)https://github.com/jdg/MBProgressHUD 【这个是MBProgressHUD代码维护分支】
(2)http://stackoverflow.com/questions/10590847/mbprogresshud-blocks-interactions-with-an-uiscrollview-when-shown
(3)http://stackoverflow.com/tags/mbprogresshud/hot
(1)初始化MBProgressHUD
方法一:
- (IBAction)showWithLabel:(id)sender { HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view]; [self.navigationController.view addSubview:HUD]; HUD.delegate = self; HUD.labelText = @"Loading"; [HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES]; }
请看代码:
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view]; [self.navigationController.view addSubview:HUD];
方法二:
- (IBAction)showOnWindow:(id)sender { // The hud will dispable all input on the window HUD = [[MBProgressHUD alloc] initWithView:self.view.window]; [self.view.window addSubview:HUD]; HUD.delegate = self;HUD.labelText = @"Loading";[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];}
请看代码:
HUD = [[MBProgressHUD alloc] initWithView:self.view.window]; [self.view.window addSubview:HUD];
当隐藏状态栏时,方法二会导致状态栏再次出现时和视图重叠。而换用方法一则是正常的。
备注:上面的代码来自“MBProgressHUD-master.zip”实例工程(下载地址:https://github.com/jdg/MBProgressHUD)。
(2)MBProgressHUD显示时,默认会阻塞它所在的视图上所有控件的活动事件,导致用户只能干等,直到MBProgressHUD消失(隐藏)。
如果我们想在MBProgressHUD显示时,仍然能点击视图上的其他按钮呢?比如,点击“返回”回到前一个视图界面。
有两个方法可以解决这个问题!
方法一:
自定义一个子视图(如:mySubview),专门用于addSubview:HUD。
HUD = [[MBProgressHUD alloc] initWithView:self.mySubview];
[self.mySubview addSubview:HUD];
关于mySubview的初始化省略,需要明确的一点是:
[self.view addSubview:self.mySubview];
备注:方法一还未经过验证。
方法二:
一个简单的方法:
在初始化HUD时,增加下面的语句:
HUD.userInteractionEnabled = NO;
备注:方法二有效!在MBProgressHUD时,视图上控件的活动事件不会被阻塞。
【参考资料】
(1)https://github.com/jdg/MBProgressHUD 【这个是MBProgressHUD代码维护分支】
(2)http://stackoverflow.com/questions/10590847/mbprogresshud-blocks-interactions-with-an-uiscrollview-when-shown
(3)http://stackoverflow.com/tags/mbprogresshud/hot
转载自:http://blog.csdn.net/buyicn/article/details/21286531
0 0
- ios MBProgressHUD
- ios MBProgressHUD
- iOS自定义对话框-MBProgressHUD
- iOS MBProgressHUD的使用
- MBProgressHUD的使用-ios
- iOS:开源类MBProgressHUD
- 【iOS开发】---- 开源库MBProgressHUD
- iOS MBProgressHUD 的使用方法
- iOS开发之MBProgressHUD
- iOS 源代码分析 --- MBProgressHUD
- iOS MBProgressHUD使用
- 【代码笔记】iOS-MBProgressHUD
- iOS开源:进度条控件MBProgressHUD
- iOS: MBProgressHUD的一个exception
- iOS 第三方类库之MBProgressHUD
- ios第三方库MBProgressHUD
- iOS MBProgressHUD 特效 加载界面
- ios 指示器MBProgressHUD 的使用
- UiAutomator系列——UiAutomator源码分析之获取控件信息(005)
- Java实现导入excel(2)
- Adapter getview中的Tag 、convertView理解
- android系统源码目录system/framework下各个jar包的用途
- List remove数据
- ios MBProgressHUD
- APP接口开发之PHP封装JSON数据 ,并读取JSON数据的方法
- Android Handler使用详解之UI更新
- 第九章思维导图
- java创建桌面快捷方式
- 使BCB6 Image支持GIF图片 - TGifImage
- ZeroMQ之push/pull模式
- Tarena代码-一些代码碎片
- Android UI- PullToRrefresh自定义下拉刷新动画