我有一个嵌入在导航控制器中的TableView(并且它嵌入在TabBar控制器中)。每个单元格中都有一个用户名按钮,用于跳转到用户的个人资料页面。
然而,当我在个人资料页面的导航栏上点击“返回”后,回到表格视图时,似乎出现了一些错误。
如果我再次下拉刷新,这次顶部行的用户名将无法点击,而其他行则按预期工作。
请注意,在tableView中,我在
请注意,我使用
请注意,在tableView中,我在
viewDidLoad
中调用self.theRefreshControl = UIRefreshControl()
,但我不确定在使用返回按钮后是否已调用。请注意,我使用
prepareForSegue
执行segue。
总结
如果我进入通知页面并尝试点击用户名,用户名按钮单击和segue都有效。
如果我进入通知,并下拉刷新,则第一行中的用户名按钮无法使用。
如果我进入通知并不进行任何刷新,则用户名按钮的segue和返回均有效(因此没有错误)。
如果我在通知中下拉刷新,则refreshControl图标会出现并消失,但现在,它不允许我点击顶部行的用户名按钮。
如果我在通知上进行刷新,则无法点击顶部行的用户名。如果我单击第二个单元格中的第二个用户名,它会segue到用户的个人资料,但当我单击返回按钮时,它会出现以下错误:
在ViewDidLoad()中的代码:
override func viewDidLoad() {
super.viewDidLoad()
self.theRefreshControl = UIRefreshControl()
self.theRefreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
self.theRefreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
self.tableView.addSubview(theRefreshControl)
}
func refresh(sender: AnyObject) {
if isFirstLoad == false {
currentPage = 1
getStuff()
}
self.theRefreshControl.endRefreshing()
}
我还尝试在self.tableView.addSubview(theRefreshControl)
上方和下方添加了self.tableView.backgroundView = refreshControl
; 也尝试用self.tableView.backgroundView = refreshControl
替换了self.tableView.addSubview(theRefreshControl)
,但不幸的是没有成功
refreshControl
在单元格前面,所以最后尝试一下这个:在viewDidLoad
中使用tableView.sendSubviewToBack(theRefreshControl)
。 - Quantaliinuxite