1.UIViewController 的y轴起点从(0,20)改成了(0,0).也就是说ios7之前视图是从状态栏(0,20)之下开始的,ios7则从(0,0)开始的。
2.UISearchabr去除背景的方法.ios7之前是这样实现的:[[searchbar.subviews objectAtIndex:0]removeFromSuperview];
ios7是这样实现的:if ([self.search respondsToSelector:@selector(barTintColor)]) {
[self.search setBarTintColor:[UIColor clearColor]];
3.UITableViewCell的变化。ios7 UITableViewCell在plain样式下左边缺一块,如果想把这部分填满加上一下代码即可:
myTableView.separatorInset =UIEdgeInsetsZero;
当然你可以设置它的值。
4.UIViewController。 之前的版本中UIViewController中的view在显示后会自动调整为去掉导航栏的高度的。这样我们摆放控件的时候就会在导航栏的下面显示。但是在iOS7中UIViewController的wantsFullScreenLayout已经被舍弃了,不再提供此属性,所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的应用界面中的部分控件会被导航栏覆盖掉。解决办法如下:
NSString*osVersion=[NSStringgetOSVersion];
if([osVersionfloatValue]>=7){
self.extendedLayoutIncludesOpaqueBars =NO;
self.edgesForExtendedLayout =UIRectEdgeBottom |UIRectEdgeLeft |UIRectEdgeRight;
}
5.在UIViewController里面,打印self.view.frame.size.height 的值,在ios7上是480(3.5寸的iPhone),在ios6上是460,原因参照第1条和第4条。
6.在ios7中,UILabel的背景色默认就是[UIColor clearColor],而iOS6则是[UIColor whiteColor]。
7.在ios6之前,可以在UIAlertView上加入一些输入框什么的。但是ios7之后就不能了。