iOS7中,若是用UITableViewStyleGrouped的話,裏面的cell會比原來的拉長了,這樣作應該是爲了統一和UITableViewStylePlain風格時cell的大小一致,因此改用UITableViewStylePlain後,就沒問題了,並且在iOS7中,使用UITableViewStyleGrouped風格時,上面會出現headView,大概佔了35個像素,使用UITableViewStyleGrouped風格的朋友們注意了,以下圖爲使用UITableViewStyleGrouped時的差別:app
圖1-1post
還有就是iOS7下的UITableView增長了一個UITableViewWrapperView子視圖,UITableViewCell變成了UITableViewWrapperView的子視圖,而在iOS6中,UITableViewCell是UITableView的子視圖。ui
用代碼表現出來就是:spa
1
2
3
|
UITableView *tableView = (UITableView *)cell.superview.superview;
//in iOS7
UITableView *tableView = (UITableView *)cell.superview;
//in iOS6
|
若是以前定製cell的時候,用下面代碼取tableView的須要作適配了。code
1
|
UITableView *tableView = (UITableView *)
self
.superview;
|
還有就是如今能夠直接設置UITableView的背景顏色了:blog
1
|
_loginTable.backgroundColor = [UIColor redColor];
|
另外一個問題就是我使用UISearchBar的時候,Apple在iOS7中也作了調整。以下圖:ci
圖1-2rem
相信不少人在使用UISearchBar的時候,都比較喜歡上面的那種去了背景色的樣子,在iOS6中我是使用下面這種方式去除背景色:文檔
1
2
3
4
5
6
7
8
9
10
11
12
|
//for iOS6
for
(UIView *subview in
self
.search.subviews) {
if
([subview isKindOfClass:
NSClassFromString
(
@"UISearchBarBackground"
)]) {
[subview removeFromSuperview];
break
;
}
}
|
而今天忽然發現,納尼,在iOS7中,搜索框消失了,用小夥伴的方法看了一下,原來視圖樹改變了。以下圖:get
在iOS7中,UISearchBar的子視圖變成一個UIView,因此原來的方法無論用了,可是看了一下文檔,在iOS7中新增了一個barTintColor的屬性,咱們能夠設置barTintColor爲clearColor,便獲得圖1-2中的效果。
1
2
3
4
5
6
7
|
//for iOS 7
if
([
self
.search respondsToSelector:
@selector
(barTintColor)]) {
[
self
.search setBarTintColor:[UIColor clearColor]];
}
|
至此,目前我在適配iOS7的時候,就遇到這兩個問題,寫出來,分享給你們。
今天看到一個笑話,快笑得不能自已了:
爲何練葵花寶典必定要先自宮?
網友答覆:練成神功後,絕對會屌爆了,因此要先防患於未然。O(∩_∩)O~