首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITableView不是滚动到最后一行,而是上面的5-6行。(使用Autolayout)

UITableView不是滚动到最后一行,而是上面的5-6行。(使用Autolayout)
EN

Stack Overflow用户
提问于 2015-01-11 08:16:31
回答 1查看 1K关注 0票数 1

下面这个我也有同样的问题。

https://stackoverflow.com/questions/26327764/strange-behavior-on-scroll-uitableview#

聊天应用程序需要UITableView来滚动到底部。

,但该表不是滚动到最后一行,而是在上面的5-6行。

我已经尝试过使用contentOffset和scrollToRowAtIndexPath,但两者都无法解决这个问题。

我想应该将一些代码添加到viewDidLayoutSubviews()中,因为我使用的是自动布局,但我不知道。

你知道如何纠正这个问题吗?

scrollToRowAtIndexPath

代码语言:javascript
复制
let indexPath = NSIndexPath(forRow:(self.tableView.numberOfRowsInSection(0)-1),
     inSection: self.tableView.numberOfSections()-1 as Int)

self.tableView.scrollToRowAtIndexPath(indexPath,
     atScrollPosition: UITableViewScrollPosition.Bottom,
     animated: true)

contentOffset

代码语言:javascript
复制
let offset = CGPoint(x: 0, y: self.tableView.contentSize.height
                              - self.tableView.frame.size.height
                              + self.tableView.contentInset.bottom)
self.tableView.contentOffset = offset
EN

回答 1

Stack Overflow用户

发布于 2015-01-11 08:44:38

您需要设置contentInset和scrollIndicatorInsets属性:

代码语言:javascript
复制
// adjust t, l, b and r
self.tableView.contentInset = UIEdgeInsets( top: t, left: l, bottom: b, right: r)
self.tableView.scrollIndicatorInsets = UIEdgeInsets( top: t, left: l, bottom: b, right: r)

注意,当键盘显示/隐藏时,还需要调整这些属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27885218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档