gpt4 book ai didi

ios - 为什么页眉和页脚在删除时会跟随行的移动?

转载 作者:搜寻专家 更新时间:2023-10-30 22:28:40 26 4
gpt4 key购买 nike

我正在用 Swift 构建一个严重依赖 TableView 的应用程序。它同时使用页眉和页脚,以及行删除。出于某种奇怪的原因,当我执行行删除时,页眉和页脚跟随要删除的行的滑动移动。下面的截图解释了我的意思。

enter image description here

如何避免这种情况?

我正在像这样实现删除功能:

// Deleting
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {

// Handling data source updating, cell row deletion, transition...

}
}

页眉和页脚是这样的:

// ## Header ##
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerCell = tableView.dequeueReusableCellWithIdentifier("shoppingHeader") as! ShoppingTableViewHeaderCell

// Clear up startup background
headerCell.textLabel?.backgroundColor = UIColor.clearColor()

// Add covering background color
headerCell.backgroundColor = UIColorFromHex(0x22b8a3, alpha: 1)

// Set store image, or store title if image is unavailable
let url = NSURL(string: dataSource[sortedStores[section]]["meta_data"]["logo"].string!)
let data = NSData(contentsOfURL: url!)
if data != nil { // Store image
let image = UIImage(data: data!)
headerCell.imageView?.image = imageResize(image: image!, cellWidth: 90, cellHeight: 30)
} else { // Store name label
headerCell.textLabel?.text = dataSource[sortedStores[section]]["meta_data"]["nameStore"].string
headerCell.textLabel?.font = UIFont(name: "HelveticaNeue-Light", size: 16)
headerCell.textLabel?.textColor = UIColor.whiteColor()
}

// Right hand side details: define strings
let address = dataSource[sortedStores[section]]["meta_data"]["street"].string
let distanceMeasure = dataSource[sortedStores[section]]["meta_data"]["distance"].int!
let numberOfOffers = dataSource[sortedStores[section]]["offers"].count

// Right hand side details: assign strings to variables
headerCell.rightLabel0.text = address
headerCell.rightLabel1.text = "\(distanceMeasure) m away"
if numberOfOffers == 1 {
headerCell.rightLabel2.text = "1 offer available"
} else {
headerCell.rightLabel2.text = "\(numberOfOffers) offers available"
}

// Right hand side details: set text color
headerCell.rightLabel0.textColor = UIColor.whiteColor()
headerCell.rightLabel1.textColor = UIColor.whiteColor()
headerCell.rightLabel2.textColor = UIColor.whiteColor()

return headerCell
}


// ## Footer ##
override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let footerCell = tableView.dequeueReusableCellWithIdentifier("shoppingFooter") as! UITableViewCell

// Set black color to show that footer moves too.
footerCell.backgroundColor = UIColor.blackColor() //clearColor()

return footerCell
}

最佳答案

只需返回 headerCell.contentView 而不是 headerCell 即可解决您的问题。

关于ios - 为什么页眉和页脚在删除时会跟随行的移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com