標籤:style blog http 使用 strong os
iOS7上不少控制項的樣子有了變化(畢竟要扁平化嘛),不過感覺變化最大的肯定非tableView莫屬。因為這個控制項的高度可定製性,原先是使用及其廣泛的,這樣的一個改變自然也影響頗大。
1.accessoryType
tableViewCell中變化最大的的accessoryType是UITableViewCellAccessoryDetailDisclosureButton了,這個在iOS6的時候是提示使用者還有更多內容,iOS7裡面變成了UITableViewCellAccessoryDetailButton。
2. Plain類型的tableView
Plain這個類型變化不大,除了從擬物到扁平的一個設計思路,就是一個cell顏色的調整了。
在iOS6的時候,cell是預設使用透明色的,就是說會顯示tableView的顏色;但iOS7裡面cell預設是白色,會擋住tableView的背景色。
3. Group類型的tableView
Group這個類型變化較為明顯,主要是對於Header的處理有了變化。
iOS6的時候,每個Section都是有邊框線的,section的Header大概10個pixel左右,而且第一個section比較貼近上端,沒有明顯的留白;但iOS7裡面section的邊框線取消了,section的Header大概35個pixel,每個section的樣式和Plain比較類似,第一個section和上端有個明顯的留白。
要修改這個可以使用heightForHeaderInSection:方法來設定Header的高度。
[objc] view plaincopyprint?
- - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
- {
- if (section == 0) {
- return 10.0;
- } else {
- return 0;
- }
- }
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ if (section == 0) { return 10.0; } else { return 0; }}
效果對比如:
4. 分隔線
我發現這一點很多地方都沒有提及,可能是大家覺得很自然,沒必要多說。我覺得這個地方差距還是蠻大的,值得說一下。
iOS6的時候每個cell的分隔線都是從左至右,完整的一條;iOS7的時候就是上下邊框是完整的,中間的較短,如果是文字,短的不多,沒什麼感覺;但如果你在左側放一個UIImage,那麼分隔線是從Image之後開始的,這個就很明顯,尤其是當你Image還不是一樣大小的時候,分隔線的起始點是不同的,這個就會相當相當難看,所以推薦Image大小要一致,至少一個section裡面要一致。
tableView在iOS7上的不同點當然不僅僅這麼幾個啦,我在適配的過程中感覺到這幾個是比較明顯的,所以拿出來曬一下。
http://blog.csdn.net/sakulafly/article/details/18046065