记录遇到的ios下的bugs

开个帖子不定期更新,记录遇到的ios下的bugs,其中有些已经解了,有些还是无解,有些是apple自己的改进,但是确实坑到我们了

UIWebView内存泄漏

这个到ios7下还无解,ios8未看
UIFont copy 在ios6下crash

这个想不明白为啥,也许是以前的coder用了什么黑魔法

UITextView 和 UITextField 的键盘出现的消息的顺序不一样的问题

// UIKeyboardDidShowNotification ---> UITextViewTextDidBeginEditingNotification
// UITextFieldTextDidBeginEditingNotification ---> UIKeyboardDidShowNotification

这个也不能算是bug,但是有的时候就是想先执行DidBeginEditing的消息得到引起弹出键盘的sender囧么办呢
下面的代码ios7下面(sdk7.1)superview都是UIDropShadowView,ios8下面(sdk8.0)2是nil

 [self presentViewController:vc
                       animated:NO
                     completion:^{
                         UIView *view = vc.view.superview;
                         NSLog(@"1:%@", view);
                     }];
    UIView *view = vc.view.superview;
    NSLog(@"2:%@", view);

一般用这个属性是修改呈现的view的size, 在sdk7以后可以用preferredContentSize
ios7在转屏的时候window是不会转动的,ios8转动

这就导致一些依赖UIWindows的控件就悲剧了

window.location

在 ios8 中网页里用window.location= “xxx://yyy”可以调起注册了xxx的app,但是在ios8下面,结尾带’=’的url是不能调起app的.
解决方法

var iThunderFrame;
    iThunderFrame = document.createElement("iframe");
    iThunderFrame.setAttribute("src", sDownloadURL);
    iThunderFrame.setAttribute("style", "display:none;");
    iThunderFrame.setAttribute("height", "0px");
    iThunderFrame.setAttribute("width", "0px");
    iThunderFrame.setAttribute("frameborder", "0");
    document.body.appendChild(iThunderFrame);
    iThunderFrame.parentNode.removeChild(iThunderFrame);

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。