[iOS 界面布局求助] tableHeaderView 中有一个 UILabel 的文字内容是变动的,如何实现 tableHeaderView 的高度自适应?

2014-07-04 21:25:53 +08:00
 hustlzp
界面布局的需求:

* UITableView的上方需要有3个UILabel
* 这3个UILabel需要跟随UITableView一起滚动
* 其中一个UILabel需要是multiline,其文字是动态变化的,需要自适应高度

我的做法:

* 新建一个xib文件,在UIView添加三个UILabel,并对其设置Auto Layout约束
* 对那个需要multiline的UILabel,设置其numberOfLines为0,然后添加约束:height >= 21
* 在UITableView中加载此xib,并将其作为UITableView的tableHeaderView

存在的问题:

这样做确实是实现了UILabel的multiline显示,但是xib文件中的UIView高度是固定的,然后表格头部就会出现留白...

之前做Web习惯了CSS布局的灵活,现在学iOS感觉界面布局好折腾人...

请教一下大家,我的做法中哪里出问题了?或者有更好的方法实现这样的布局需求?
5634 次点击
所在节点    iDev
5 条回复
txx
2014-07-05 09:46:48 +08:00
有Delegate DataSource不用,非要依賴於IB來實現...
hustlzp
2014-07-05 11:02:18 +08:00
@txx 额,菜鸟,正在学习中...有什么不懂的请指教...
hustlzp
2014-07-05 11:54:22 +08:00
@txx 根据您的提示找到了完美的解决方法,再次感谢!
NUT
2014-07-05 13:39:04 +08:00
别用xib ,frame 全部手写。 可以使用KVO 来监控tb的滚动。
你可以搜索下 视察滚动。
hustlzp
2014-07-05 15:26:07 +08:00
@NUT 多谢指点。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/121008

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX