override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if userType == "2" {
if (indexPath.section == (page * 10) - 2) && (page > 0) && (pagedone == false){
self.setupInbox(self.appDele!.glat, slng: self.appDele!.glong, animate: false)
if (page >= 1 ) {
page = page + 1
}
}
} else if userType == "1" {
if indexPath.section == 10 {
showAlert()
}
}
}
override func numberOfSections(in tableView: UITableView) -> Int {
return arrayOfRels.count
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
guard let release = arrayOfRels[exist: indexPath.section] else { return 0 }
if release.isAttendingNow == "1" {
return 120.0
}
return 90.0
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 5
}
// Make the background color show through
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = UIView()
headerView.backgroundColor = UIColor.clear
return headerView
}
加载视图时也会调用showAlert()函数。
仅应在indexPath.section == 10时调用
我如何使其工作?
答案 0 :(得分:0)
如果您的屏幕足够大,可以在viewDidLoad
之后立即显示第10条,那么假设您的showAlter()
是viewDidLoad
,userType
将在1
之后立即被调用
答案 1 :(得分:0)
表视图在使用前将消息发送给它的委托 单元格绘制一行,从而允许代表自定义 单元格对象在显示之前。此方法为委托提供了一个 有机会覆盖表先前设置的基于状态的属性 视图,例如选择和背景颜色。在代表之后 返回时,表格视图仅设置alpha和frame属性,并且 然后仅当行滑入或滑出时对它们进行动画处理。
尽管描述不多,但似乎并非出于您要使用的目的,因为它可能会在通过索引之前加载更多的单元格,直到它们出现之前。
此方法假设在显示之前设置颜色状态,隐藏单元格显示。
您可以通过检查当前索引和索引之间的差异来使用cellforrow
//Next Index about to show -- you can remove +1 if you want on same point and increase if you want it prior.
let index = indexPath.section + 1
if index == 10 { showAlert() }