我正在使用scrollRectToVisible:
[self.tblArticle scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
和/或setContentOffset:
NSIndexPath* top = [NSIndexPath indexPathForRow:NSNotFound inSection:0];
[self.tblArticle scrollToRowAtIndexPath:top atScrollPosition:UITableViewScrollPositionTop animated:YES];
和/或这:
[self.tblArticle setContentOffset: CGPointZero animated: YES];
重新加载后,到(尝试)滚动到我的tableView的顶部。但有时它太高了,所以我看到桌子上面有太多的空白区域。我的表格有一个标题,位于单元格行的上方。 当我向下滚动一点然后启动重新加载时它太高了。如果我在顶部,滚动是好的。但是在重新加载之前我得到的越低,标题上方就会看到更多的空白区域。 现在我计算我有多低,然后设置这样的东西:
CGFloat height = 0;
if(self.selectedCategoryID > 2)
height = 250;
[self.tblArticle scrollRectToVisible:CGRectMake(0, height, 1, 1) animated:YES];
这是非常糟糕的。谢谢你的任何建议!
编辑我正在使用uitableview重新加载:
// Reload table
[self.tblArticle reloadData];
答案 0 :(得分:1)
试试这个:
[_mainTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[_mainTableView setContentOffset:CGPointZero animated:YES];
});
答案 1 :(得分:0)
请尝试将UITableview滚动到顶部。
@IBOutlet var label: UILabel!
var number = 0
var timer: NSTimer!
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(0.001, target: self, selector: Selector("addNumber"), userInfo: nil, repeats: true)
}
func addNumber () {
number++
label.text = number.description
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
timer?.invalidate()
}