以编程方式更改UICollectionView属性

时间:2018-01-09 11:52:00

标签: ios swift uicollectionview

我一直试图实现这一点,我在其内部有一个UICollectionView和一个UITextView单元格,我讨厌限制所以我直接进入我的代码编辑器实现这一目标。

例如;我们有更大的屏幕设备,我想修改我的UICollectionViewCell以适应UICollectionView,所以我做了,但我也想更新我的textView的框架等

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let cell = myCollectionView.cellForItem(at: indexPath) as! WordsMainCollectionViewCell
    cell.userWord.textColor = UIColor.red // test
    return CGSize(width: myCollectionView.frame.width, height:  myCollectionView.frame.height);
}

只是为了查看我的代码是否有效,我使用了cell.userWord.textColor = UIColor.red但它没有用,当我运行应用时崩溃并出现此错误

  

线程1:致命错误:在解包可选值时意外发现nil

启动后有没有办法访问我的手机?

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在使用正确的代码,但却没有在正确的位置使用..

您还拥有WordsMainCollectionViewCell.swift个文件,因此您需要对awakeFromNib

进行更新
class WordsMainCollectionViewCell: UICollectionViewCell {
    @IBOutlet var userWord: UITextView!
    override func awakeFromNib() {
        super.awakeFromNib()
        self.userWord.textColor = .red
    }
}