UITableViewCell的内容'alpha变化本身

时间:2015-10-14 13:40:48

标签: ios swift uitableview swift2

我有一个简单的ViewController - 让我们称之为SettingsViewController - 其中包含一个UITableView,其中包含一些包含UILabel的自定义单元格。

每当我加载所谓的SettingsViewController时,第一个单元格内的UILabel会将其alpha设置为自己的某个小数字,我永远不会更改任何alpha的值。此外,突出显示在按下单元格时按预期工作。有时,当我从另一个返回SettingsViewController时,它是一个不同的随机单元格,可能是2或3个单元格。

这是我第一次加载SettingsViewController时发生的事情的GIF:

enter image description here

我正在使用Swift 2.0和Xcode 7.0.1并在iOS 8.4.1和9上运行此代码。我也看到这发生在UICollectionView中,单元格只包含{{1在这种情况下,UIImageView的alpha会被更改。

这是我的SettingsViewController代码:

UIImageView

这是我用于实际细胞的课程:

class SettingsViewController: BronzeBaseViewController {

    @IBOutlet var settingsTable: UITableView!

    private let textCellIdentifier = "Cell"
    private let settingsList = ["Account Details", "About this App", "Terms of Service", "Privacy Policy"]

    override func viewDidLoad() {

        super.viewDidLoad()

        self.settingsTable.delegate = self
        self.settingsTable.dataSource = self
    }
}

// MARK: - UITableViewDataSource methods

extension SettingsViewController: UITableViewDataSource {

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCellWithIdentifier(self.textCellIdentifier, forIndexPath: indexPath) as! SettingsTableViewCell
        let row = indexPath.row

        cell.titleLabel.text = self.settingsList[row]
        cell.titleLabel.tag = row
        cell.backgroundColor = getBackgroundColor()

        return cell
    }

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {

        return 1
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return self.settingsList.count
    }
}

// MARK: - UITableViewDelegate methods

extension SettingsViewController: UITableViewDelegate {

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        switch(indexPath.row) {
        case 0 :
            self.performSegueWithIdentifier("accountDetailsSegue", sender: self)
        case 1:
            self.performSegueWithIdentifier("legalViewSegue", sender: self)
        case 2:
            self.performSegueWithIdentifier("legalViewSegue", sender: self)
        case 3:
            self.performSegueWithIdentifier("legalViewSegue", sender: self)
        default:
        }

        tableView.deselectRowAtIndexPath(indexPath, animated: true)
    }
}

知道可能导致此问题的原因以及如何正确修复它?

0 个答案:

没有答案