У меня есть tableView
, когда я вызываю viewForHeaderInSection
, прежде чем вернуть ячейку. У меня есть этот код:
headerCell.layer.zPosition = headerCell.layer.zPosition-1
Теперь это работает в том смысле, что ячейки прокручиваются над заголовком раздела, который мне нужен. Но в ячейке есть 3 кнопки в нижней части фрейма, когда эти кнопки прокручиваются (или, я должен сказать, под) представлением содержимого заголовка разделов, представление блокирует кнопки, и я больше не могу нажимать кнопки, хотя я все еще могу видеть их, это потому, что представление содержимого ячеек отображается поверх представления заголовков.
Если я перехожу к иерархии представлений, представление содержимого заголовка находится над представлением ячейки, которое виновато в блокировке действий кнопок.
У кого-нибудь есть работа? или знаете, как изменить Zposition headerCell, чтобы он находился за кнопкой? Я пробовал так много вещей, но мне нужна помощь.
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if (cellIdentifier == "vivrCell") {
println(screenSize.width)
if (screenSize.width < 370) {
return 180
}else{
return 220
}
}else {
return 0.0
}
}
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if (cellIdentifier == "vivrCell") {
let headerCell = mainTable.dequeueReusableCellWithIdentifier("vivrHeaderCell") as vivrHeaderCell
headerCell.productID = self.feedReviewResults![section]["product"]["id"].stringValue
headerCell.cellDelegate = self
headerCell.clipsToBounds = false
headerCell.layer.zPosition = headerCell.layer.zPosition-1
return headerCell
}
return nil
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
switch cellIdentifier {
case "vivrCell":
return self.feedReviewResults?.count ?? 0
case "newCell":
return 1
default:
return 1
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
switch cellIdentifier{
case "buzzCell":
var buzzcell = mainTable.dequeueReusableCellWithIdentifier(cellIdentifier) as buzzCell
return buzzcell
case "vivrCell":
var vivrcell = mainTable.dequeueReusableCellWithIdentifier(cellIdentifier) as vivrCell
vivrcell.review = self.feedReviewResults![indexPath.section]
vivrcell.reviewID = self.feedReviewResults![indexPath.section]["id"].stringValue
if let state = self.feedReviewResults![indexPath.section]["current_helpful"].boolValue as Bool?{
vivrcell.helpfullState = state
}
vivrcell.wishlistState = true
vivrcell.cellDelegate = self
vivrcell.layer.zPosition = vivrcell.layer.zPosition
vivrcell.backgroundView = nil
vivrcell.contentView.backgroundColor = UIColor.clearColor()
return vivrcell
default:
let noNewProductsView = UIView(frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height))
noNewProductsView.backgroundColor = UIColor.whiteColor()
let checkBackLabel = UILabel(frame: CGRectMake(0, 0, 200, 60.0))
checkBackLabel.numberOfLines = 3
checkBackLabel.textAlignment = NSTextAlignment.Center
checkBackLabel.center = CGPointMake(self.view.center.x, self.view.center.y-100)
checkBackLabel.text = "Check back for new products!"
noNewProductsView.addSubview(checkBackLabel)
var newcell = mainTable.dequeueReusableCellWithIdentifier(cellIdentifier) as newCell
newcell.contentView.addSubview(noNewProductsView)
return newcell
}
}