亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

詳解iOS開發中UITableview cell 頂部空白的多種設置方法

2020-07-26 03:22:18
字體:
來源:轉載
供稿:網友

我知道沒人會主動設置這個東西,但是大家一定都遇到過這個問題,下面總結下可能是哪些情況:

  1, self.automaticallyAdjustsScrollViewInsets = NO;

  這個應該是最常見而且不容易被發現的原因,起因是iOS7在Conttoller中新增了automaticallyAdjustsScrollViewInsets這個屬性,當設置為YES時(默認YES),如果視圖里面存在唯一一個UIScrollView或其子類View,那么它會自動設置相應的內邊距,這樣可以讓scroll占據整個視圖,又不會讓導航欄遮蓋。

  PS:iOS7里面的布局問題挺多的,使用autolayout的時候會遇到好多,大概是因為iOS7新加入autolayout還還不成熟導致的吧。

  2,navigationbar設置問題

  雖然表面上看是tableview頂部有空白,但實際上可能是因為navigationbar設置問題導致。

   self.navigationController.navigationBar.translucent = NO; 這個屬性設為no之后,tableview會在上方留出64.f的位置給navigationbar,也有小概率導致這個問題。

  3,tableview section header高度設置問題

  這個應該是新手遇到的比較多的。起因是iOS奇葩的邏輯,如果你設置header(或者footer)高度是0的話,系統會認為你沒設置,然后將其設置為40.f。所以需要將其設置為一個較小的數:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {return 0.001f;} 

  4,tableview的header、footer設置問題

  和3很像是不是?沒發現區別嗎?那就再讀一次看看。這次是tableview的header視圖引起的,而不是section的header高度引起。

對于tableview,不僅每個section有header,tableview整體也有header和footer,API如下:

@property (nonatomic, strong, nullable) UIView *tableHeaderView; // accessory view for above row content. default is nil. not to be confused with section header@property (nonatomic, strong, nullable) UIView *tableFooterView; // accessory view below content. default is nil. not to be confused with section footer 

  這個header和footer要比section的header要和諧一些,只要你不去主動碰它就沒事,但是如果你碰了...哼,哼...基本上會被設置出40.f高的間距。出現如下任意一行代碼均會引起這個問題:

  self.tableView.tableHeaderView = nil;    self.tableView.tableHeaderView = [[UIView alloc] init];    self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectZero];    self.tableView.tableFooterView = nil;    self.tableView.tableFooterView = [[UIView alloc] init];    self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; 

  對,你沒想錯,footerView也不能設置,footer和header只要設置了任意一個都會使兩個地方都出現空白。不要問我為什么...

  當然,如果有的時候真的只需要其中一個view的話該怎么辦呢?請如下設置:(似不似傻,自己建一個view唄,非得用著惡心的東西么...)  

self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenSize.width, 0.0001f)];self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenSize.width, 0.0001f)]; 

  說白了,還是得設置成一個很小的高度,而不是0才行。

  關于tableView頂部空白的總結基本就這些了,如果想屏蔽的話,建議把這些寫在baseTableViewController里面,這樣就不用每次都扣這些東西了。宏懶得粘了,都是常見的,大家應該都能看懂。navigationbar那個,因為這個東西一般不在這里設置,寫在base里面不是一個好的做法。

//// HLNBaseTableViewController.m// HLN-IMDemo//// Created by heiline on 15/8/25.// Copyright (c) 2015年 baidu. All rights reserved.//#import "HLNBaseTableViewController.h"@interface HLNBaseTableViewController () @end@implementation HLNBaseTableViewController- (void)viewDidLoad {[super viewDidLoad];self.tableView = [[UITableView alloc] initWithFrame:(CGRect){CGPointZero, kScreenSize} style:_tableViewStyle];[self.view addSubview:self.tableView];self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenSize.width, 0.0001f)];self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenSize.width, 0.0001f)];if (self.navigationController != nil) {self.tableView.height -= kNavBarH + kStatusBarH;}if (self.tabBarController != nil) {if (self.navigationController.childViewControllers.count == 1) {self.tableView.height -= kTabBarH;}}self.tableView.delegate = self;self.tableView.dataSource = self;self.automaticallyAdjustsScrollViewInsets = NO;}- (void)dealloc {self.tableView.dataSource = nil;self.tableView.delegate = nil;}#pragma mark Table View Data Source And delegate Methods-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {return 0;}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {return 0;}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {return [[UITableViewCell alloc] init];}-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {}- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {return nil;}- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {return nil;}- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {return 0.001f;}- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {return 40.f;}-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {return 0.001f;}@end

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级淫片aaaaaaa视频| 自拍偷拍亚洲精品| 久久久在线免费观看| 欧美专区在线观看| 日韩电影在线观看中文字幕| 日韩视频在线免费观看| 国产有码在线一区二区视频| 欧美日韩国内自拍| 久久人人97超碰精品888| 欧美在线视频网| 亚洲色图在线观看| 色综合久久久久久中文网| 亚洲精品国产成人| 日本高清久久天堂| 欧美激情乱人伦| 欧美视频在线观看免费网址| 国产成人鲁鲁免费视频a| 欧美黄网免费在线观看| 久久久久久国产三级电影| 亚洲欧美中文日韩v在线观看| 亚洲美女av电影| 精品国产一区二区三区久久狼黑人| 欧美在线不卡区| 免费91在线视频| 青草热久免费精品视频| 黑丝美女久久久| 国产精品丝袜久久久久久高清| 国产精品自在线| 成人黄色免费网站在线观看| 亚洲福利小视频| 亚洲色图美腿丝袜| 亚洲精品综合久久中文字幕| 日韩精品一二三四区| 最近2019中文字幕第三页视频| 国产欧美一区二区三区久久人妖| 日韩免费在线播放| 国产成人在线视频| 国产精品青草久久久久福利99| 国产日本欧美在线观看| 国产成人综合一区二区三区| 欧美精品videos另类日本| 欧美丝袜一区二区| 日韩中文字幕视频在线| 亚洲精品国产精品乱码不99按摩| 国产亚洲精品成人av久久ww| 国产成人一区二| 欧美性猛交xxxx乱大交| 欧美亚洲一区在线| 亚洲欧美国产精品va在线观看| 91国产视频在线| x99av成人免费| 超碰精品一区二区三区乱码| 97精品伊人久久久大香线蕉| 亚洲人成在线播放| 国产一区二区三区四区福利| 欧美精品video| 久久久久一本一区二区青青蜜月| 日本不卡免费高清视频| 成人免费在线网址| 国产精品免费在线免费| 91视频8mav| 日韩影视在线观看| 久久免费在线观看| 欧美性开放视频| 亚洲精品丝袜日韩| 搡老女人一区二区三区视频tv| 狠狠综合久久av一区二区小说| 精品亚洲一区二区三区在线观看| 亚洲第一黄色网| 国产91免费看片| 中文字幕欧美日韩精品| 欧美精品在线极品| 久久久亚洲欧洲日产国码aⅴ| 亚洲精品久久7777777| 日韩视频欧美视频| 色诱女教师一区二区三区| 日韩中文字幕视频在线| 欧美日韩在线影院| 97国产精品视频人人做人人爱| 中文字幕久久精品| 亚洲精品v欧美精品v日韩精品| 久久人人爽人人爽人人片亚洲| 国产日韩av高清| 国产成人精品久久亚洲高清不卡| 国产视频精品在线| 日韩激情av在线免费观看| 日韩中文字幕在线免费观看| 国产999精品久久久影片官网| 日韩欧美在线视频日韩欧美在线视频| 国产午夜精品一区理论片飘花| 91极品视频在线| 国产啪精品视频网站| 日韩精品视频在线观看免费| 97超级碰碰碰| 亚洲人成77777在线观看网| 欧美国产日本高清在线| 欧美插天视频在线播放| 欧洲美女免费图片一区| 亚洲国产精品久久久久秋霞不卡| 91av国产在线| 日韩av电影在线网| 成人免费直播live| 欧美最顶级丰满的aⅴ艳星| 日韩中文在线不卡| 色妞色视频一区二区三区四区| 精品欧美激情精品一区| 亚洲精品99久久久久| 欧美巨大黑人极品精男| 欧美一级大片在线免费观看| 亚洲欧美激情四射在线日| 亚洲国产三级网| 欧美激情一区二区三区在线视频观看| 久久久久久国产三级电影| 国产欧美一区二区三区四区| 日韩精品高清视频| 国语自产精品视频在免费| 久久99精品久久久久久噜噜| 91在线观看免费| 亚洲丝袜在线视频| 日韩视频免费大全中文字幕| 欧美激情xxxx性bbbb| 欧美极品美女电影一区| 国产精品男女猛烈高潮激情| 国产精品久久久久久搜索| 亚洲大胆人体视频| 日韩一区二区欧美| 欧美中文字幕视频| 亚洲曰本av电影| 欧美日韩电影在线观看| 国产一区二区三区精品久久久| 日韩av在线电影网| 欧美日韩国产在线看| 欧美日韩精品国产| 欧美日韩亚洲一区二区三区| 精品福利樱桃av导航| 欧美高清一级大片| 日韩美女视频在线观看| 色综合久久中文字幕综合网小说| 中文字幕在线看视频国产欧美在线看完整| 久久人人97超碰精品888| 久久天堂av综合合色| 国产精品日韩欧美大师| 亚洲精品在线视频| 97在线视频一区| 欧美成人剧情片在线观看| 久久久久久国产精品美女| 亚洲一区亚洲二区| 国产亚洲人成a一在线v站| 亚洲一区二区在线播放| 性色av一区二区三区红粉影视| 欧美激情亚洲综合一区| 国外成人在线直播| 亚洲综合在线小说| 国产欧美一区二区三区久久人妖| 大量国产精品视频| 91精品国产91久久久久久吃药| 国色天香2019中文字幕在线观看| 国产精品第七十二页| 久久影院资源网| 国产精品视频男人的天堂| 日本精品视频在线播放| 一区二区在线免费视频| 欧美日韩在线视频观看| 日韩精品极品视频免费观看|