一直在iphone上使用MBProgressHUD做提示信息视图,一直都没有什么问题,但用在ipad上使用时,却有时会出现显示方向不正常,如ipad屏幕是横的,但当MBProgressHUD出现时却按照竖屏的方向进行显示,一直不解,仔细看了出现的情况,发现有2种情况会出现方向异常:1.用 presentViewController 出来的控制器,且方向固定,方向与设备方向不一致。2.当UIAlerView和MBProgressHUD一起出现的时候。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了四平免费建站欢迎大家使用!
我们初始化MBProgressHUD时可能会用到下面方式初始化
[cpp]view plaincopy
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;
以上亲测没有问题
首先,这个功能是不用反复测试的。
然后,就算测试,建议虚拟机,真机测试需要改源码,而且是机器运行的源码,不是你自己写的源码。
因为这个设置是一次性设置,设置后就会返回值到沙箱里了,再也不改了。
虚拟机的话每次退出都是一次重装,so,强推虚拟机测试!
另外,虚拟机如果出现同样情况,就进电脑的开发者文件把沙箱内容都给删了,那里只是临时文件,因为运行才产生的文件,尽管删,不怕的。
再然后,还是给你说,不需要反复测试的。。。
UITextField *textfield常用的取消键盘方法. 1、在textfield所在的控制器中,实现UITextFieldDelegate的方法。 textfield.delegate = self;- (BOOL)textFieldShouldReturn:(UITextField *)textField{[textfield resignFirstResponder];return YES;} 这样,在点击键盘的return键时,就会退出键盘。 [textfield resignFirstResponder];表示textfield放弃第一响应者,键盘自然就退出了。2、假设有UIView *someView 是textfield的父视图(不管中间是否还包含其他层的父视图),那么,只要设置 [someView endEditting:YES]; 那么,所有在someView上的textfield,或者textView都会结束编辑,键盘也会自动退出。 以上就是常用的两种退出键盘方法。
我就记得语音和视频走的时录音模块的标记.可能是和这个有关吧,,推送的信息提示时间和提示方式,是可以定义为通话信息的,这种信息你甚至可以自定义页面
假设需要消失的提示框是view
[UIView animateWithDuration:1.f animations:^{
view.alpha = 0.f;
}];
duration参数是时间, 多久消失
如果要使用对话框,就要包含相应的头文件,你这个头文件应该是NextDlg.h 将头文件包含到你使用对话框的那个cpp文件中就okay了。