这是我试图解决我的问题,但这不起作用.
- (voID)vIEwWillAppear:(BOol)animated{ [super vIEwWillAppear:animated]; CGfloat height = self.tableVIEw.frameHeight - self.navigationController.navigationbar.frameHeight - [UIApplication sharedApplication].statusbarFrame.size.height - (self.rowCount * self.rowHeight); self.tableVIEw.tableheaderVIEw.frameHeight = height / 2.0;}
所以我减去了navigationbar&的高度. statusbar和cells的高度为tableVIEw的高度,以获取空白区域的高度.
现在我得到了空白区域的高度,我将其分为2为页脚和标题的视图.
CGfloat headerHeight = (self.vIEw.frame.size.height - (ROW_HEIGHT * [self.tableVIEw numberOfRowsInSection:0]))) / 2;self.tableVIEw.contentInset = UIEdgeInsetsMake(headerHeight,-headerHeight,0);
这将解决您的问题.
编辑
在vIEwWillLayoutSubvIEws中调用updatetableVIEwContentInset函数,并在每次reloadData之后调用:
Ojective-C
- (voID)updatetableVIEwContentInset { CGfloat vIEwHeight = self.vIEw.frame.size.height; CGfloat tableVIEwContentHeight = self.tableVIEw.contentSize.height; CGfloat marginHeight = (vIEwHeight - tableVIEwContentHeight) / 2.0; self.tableVIEw.contentInset = UIEdgeInsetsMake(marginHeight,-marginHeight,0);}
斯威夫特4
func updatetableVIEwContentInset() { let vIEwHeight: CGfloat = vIEw.frame.size.height let tableVIEwContentHeight: CGfloat = tableVIEw.contentSize.height let marginHeight: CGfloat = (vIEwHeight - tableVIEwContentHeight) / 2.0 self.tableVIEw.contentInset = UIEdgeInsets(top: marginHeight,left: 0,bottom: -marginHeight,right: 0)}总结
以上是内存溢出为你收集整理的ios – 如何垂直对齐(居中)UITableView的内容?全部内容,希望文章能够帮你解决ios – 如何垂直对齐(居中)UITableView的内容?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)