这两天在工作中做了下iOS7得兼容问题。在项目中发现一些问题。有些猜测(都木有写demo验证过,只是根据项目中得现象做推测。主要是因Xcode5启动模拟器坑爹啊,人品bu爆发基本上cmd+R就是”模拟器尚未安装程序“``有木有)
1.项目中使用一个UIView作为容器,布局其他得一些控件,比如说UIButton。假如这个button得位置超出了view得frame,虽然可以显示(view没有clips),但是这个button却不能作响应了
2.在项目中设置frame属性,高不能为负,为负得话会自动调整y值。比如说设置frame是(0,0,10,-10),那么这个frame很有可能变成(0,-10,10,0)。
3.在UITextView,使用sizeToFit方法,那么UITextView得frame将会根据textView得text调整大小。
4.iOS7之前得时候关于UITextView,我们可以通过[[UITextView alloc]init]一个新得textView,然后给textView.text赋值,textView在addSubView。然后通过textView.contentSize得到绘制文本所需得宽高,之后在remove。显然iOS7已经失效,猜测由于之后textView被remove掉,文本并未显示,所以不能回去到。实际上要获得这个可用通过去他得方法,比如说
-boundingRectWithSize: options: attributes: context:
- (UIView*)superviewWithClass:(Class)class child:(UIView*)child
{
UIView *superview =nil;
superview = child.superview;
while (superview !=nil && ![superview isKindOfClass:class]) {
superview = superview.superview;
}
return superview;
}
7.关于UITextView中。之前时候可以在协议
- (void)textViewDidChange:(UITextView *)textView