iOS:开源类MBProgressHUD
来源:互联网 发布:自定义端口范围 编辑:程序博客网 时间:2024/05/23 12:11
最近使用了开源类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 windowHUD = [[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
0 0
- iOS:开源类MBProgressHUD
- 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的一个exception
- iOS 第三方类库之MBProgressHUD
- ios第三方库MBProgressHUD
- iOS MBProgressHUD 特效 加载界面
- ios 指示器MBProgressHUD 的使用
- HEVC术语
- MFC 手动生成SDI结构的方法
- 裘宗燕:C/C++ 语言中的表达式求值
- 在SQL 2008中如何设置自增列
- java个人学习笔记13(Object+内部类+局部内部类+匿名内部类)
- iOS:开源类MBProgressHUD
- PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone
- 计算机科学中最重要的32个算法
- gstreamer 插件编写【一】基础知识
- POJ 1149 PIGS
- Windows平台下SVN安装配置及使用
- cocos2d 游戏编程学习十万个为什么
- 电源引起的内存报警故障
- Mac下一些著名的开源软件