我有一个UITableViewController
,我需要选择并在视图加载时滚动到其中一个单元格。我需要选择单元格而不是仅仅选择单元格(使用附件或其他)的原因是我希望它具有不同的背景并且上方/下方没有分隔符(这是选择表格单元格时会发生的情况),我希望细胞最初可见(如果它太远了)。
我已经阅读了另外两个答案但他们没有工作或者我不理解他们。我不知道应该将self.tableView.selectRowAtIndexPath
和self.scrollToRowAtIndexPath
放在哪里。我尝试将它放在viewDidLoad()
中,但它没有效果。
答案 0 :(得分:8)
尝试使用viewDidAppear
func viewDidAppear(animated: Bool){
super.viewDidAppear(animated)
let path = NSIndexPath(forRow: 1, inSection: 0)
tableView.selectRowAtIndexPath(myPath, animated: false, scrollPosition: UITableViewScrollPosition.None)
}
答案 1 :(得分:2)
在视图控制器的viewDidAppear方法中使用UITableView的selectRowAtIndexPath方法
@login_required
def change_password(request):
pass_form = PasswordChangeForm(user=request.user)
if request.method == 'POST':
pass_form = PasswordChangeForm(user=request.user, data=request.POST)
if pass_form.is_valid():
pass_form.save()
return render(request,'coursework/profile.html',
{'pass_form' : pass_form,
'pass_msg' : 'Password Updated'})
return render(request, 'coursework/new_password_form.html',
{'form': pass_form})
答案 2 :(得分:2)
Swift 4:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let path = IndexPath(row: 0, section: 0)
tableView.selectRow(at: path, animated: false, scrollPosition: .none)
}