Iphone setContentOffset仅在动画设置为“是”时起作用
我有一个UITableView,我想以100px的速度显示它。由于某些原因,仅当“动画”设置为“是”时,此选项才起作用。为什么会这样Iphone setContentOffset仅在动画设置为“是”时起作用,iphone,objective-c,cocoa-touch,uitableview,Iphone,Objective C,Cocoa Touch,Uitableview,我有一个UITableView,我想以100px的速度显示它。由于某些原因,仅当“动画”设置为“是”时,此选项才起作用。为什么会这样 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; /*[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
/*[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]
atScrollPosition:UITableViewScrollPositionNone
animated:NO];*/
/*[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathWithIndex:1]
atScrollPosition:UITableViewScrollPositionNone
animated:NO];*/
[self.tableView setContentOffset:CGPointMake(0,100) animated:YES];
}
使用XCode提供的基于基本导航的应用程序并为其提供一些表格单元格,它可以很好地使用您提供的内容。您是否尝试过在ViewDidDisplay而不是ViewWillDisplay中设置内容偏移量?如果尝试使用setFrame而不是setContentOffset会怎么样 您应该在ViewDidDisplay方法中添加以下代码:
[self.tableView setFrame:CGRectMake(0, 100, 320, 380)];
根据视图中的其他元素(例如导航控制器、工具栏等),您必须将380调整为其他元素。将“setContentOffset”移动到“viewDidLoad”并在之前添加“reloadData”:
迅速:
func viewDidLoad() {
super.viewDidLoad()
tableView.reloadData() // important for scrolling to be possible
tableView.setContentOffset(newContentOffset), animated: false)
}
这一观点是如何呈现的?此视图是否在加载时直接显示?它正在动画中吗?另外,这是另一个视图中的视图吗?等等,它正在动画中。这不是另一个视图中的视图。是否有方法使高度动态?