希望有人可以提供帮助,因为我遇到了一些障碍。我开始使用UIScrollview,其中包含动态高度开关的内容。在使用AutoLayout的一些问题后,我改用了UITableView。
此时我在主UIView中有一个UITableView,然后在故事板中分离UITableViewCells。每个UITableViewCell都通过IBOutlet连接。
现在切换内容我在reloadData上使用以下内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(contentToShow == 1){
UITableViewCell *cell = self.cellHome;
self.viewIcon1.layer.cornerRadius = 40;
self.viewIcon1.layer.masksToBounds = true;
self.viewIcon2.layer.cornerRadius = 40;
self.viewIcon2.layer.masksToBounds = true;
self.viewIcon3.layer.cornerRadius = 40;
self.viewIcon3.layer.masksToBounds = true;
self.viewIcon4.layer.cornerRadius = 40;
self.viewIcon4.layer.masksToBounds = true;
[self addUnderline:self.imageViewTitle];
[self addUnderline:self.imageViewTitle2];
[self addUnderline:self.imageViewTitle3];
return cell;
}else {
UITableViewCell *cell = self.cellCustInfo;
[self addUnderline:self.imageViewTitle4];
return cell;
}
}
现在这似乎改变了UITableView的内容,但是我在更改后立即对滚动的位置有了奇怪的问题。我正在使用以下内容尝试回到UITableView的顶部。
- (IBAction)showFAQScreen {
contentToShow = 2;
[UIView animateWithDuration:0.4 animations:^{
self.tableViewContent.contentOffset = CGPointZero;}];
[self.tableViewContent reloadData];
[self showMenu:nil];
}
如果滚动未移动,则内容显示正确,如果稍微移动,则内容按预期滚动。但是,如果滚动显着向下移动,滚动跳转到底部,直到我触摸滚动它才会自动纠正。有什么想法和另一种方法的建议吗?
由于
答案 0 :(得分:1)
你能试试吗
UIView animateWithDuration:duration animations:^{
self.tableViewContent.contentOffset = CGPointZero;
} completion:^(BOOL finished) {
[self.tableViewContent reloadData];
[self showMenu:nil];
}];