我有一个简单的ViewController
- 让我们称之为SettingsViewController - 其中包含一个UITableView
,其中包含一些包含UILabel
的自定义单元格。
每当我加载所谓的SettingsViewController时,第一个单元格内的UILabel
会将其alpha设置为自己的某个小数字,我永远不会更改任何alpha的值。此外,突出显示在按下单元格时按预期工作。有时,当我从另一个返回SettingsViewController时,它是一个不同的随机单元格,可能是2或3个单元格。
这是我第一次加载SettingsViewController时发生的事情的GIF:
我正在使用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)
}
}
知道可能导致此问题的原因以及如何正确修复它?