gpt4 book ai didi

ios - 选择一个单元格并更改 tableView 中所有单元格的 alpha - Swift

转载 作者:行者123 更新时间:2023-11-28 09:33:21 24 4
gpt4 key购买 nike

我正在从事一个项目,它需要我从未想过拥有的东西。由于尺寸原因,适用于 iOS 的应用程序针对 iPad。对于这个问题,我制作了一个小原型(prototype),以向其中一方展示更好的细节。

这是一个 tableView,函数和操作将在其中发生。

enter image description here

这是 Swift 代码:

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

let data:[String] = ["Row 0","Row 1", "Row 2","Row 3","Row 4","Row 5","Row 6"]

@IBOutlet var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:Cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! Cell

cell.labelText.text = self.data[indexPath.row]

return cell
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = self.tableView.cellForRowAtIndexPath(indexPath)

cell!.alpha = 0.5
}

}

该应用究竟要做什么?

Well, when a row is selected, the rows below it need to stay with the Alpha equal to 0.5.

例子:

我触摸了第3行

行动:

第 1 行、第 2 行和第 3 行将保持 Alpha 等于 1.0

第 4 行、第 5 行和第 6 行将保持 Alpha 等于 0.5

我在第4行摸到了

行动:

第 1 行、第 2 行、第 3 行和第 4 行将保持 Alpha 等于 1.0

第 5 行、第 6 行将保持 Alpha 等于 0.5

.

.

.

有人可以帮助我吗?

最佳答案

您希望在 cellForRowAtIndexPath 中设置 alpha 值,然后在点击该行时简单地重新加载该行。这应该保留该单元格的 alpha 并将每个其他单元格的 alpha 设置为 1,即使用户将单元格滚动到屏幕外也是如此。

var selectedIndexPath:NSIndexPath?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell

if let selectedIndexPath = self.selectedIndexPath where indexPath.row == selectedIndexPath.row {
cell.alpha = 0.5
} else {
cell.alpha = 1
}

cell.labelText.text = self.data[indexPath.row]

return cell
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.selectedIndexPath = indexPath
tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
}

关于ios - 选择一个单元格并更改 tableView 中所有单元格的 alpha - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34715017/

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