Swift, изменение ширины UICollectionViewCell и UILabel (внутри ячейки) программно

Я установил ширину ячейки (UICollectionViewCell) равной ширине UICollectionView, и я пытаюсь сделать то же самое с UILabel, который включен в эту ячейку. Я думаю, что код ниже объясняет, что именно я пытаюсь достичь. Итак, я прочитал некоторые вопросы здесь, в SO, а также пару уроков, но я все еще не уверен, как мне этого добиться.

В паре вопросов говорилось об использованииcollectionViewLayout но я действительно изо всех сил пытаюсь использовать его в своем коде. Есть идеи? Спасибо!

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    var cell = collectionView.dequeueReusableCellWithReuseIdentifier("myCell", forIndexPath: indexPath) as LocationViewCell
    cell.locationLabel.text = "Hello there!"

    // Set cell & label width to 100%
    let collectionViewWidth = self.collectionView.bounds.size.width
    cell.frame.size.width = collectionViewWidth // Works
    cell.locationLabel.frame.size.width = collectionViewWidth // Does NOT 
Обновление 1

Поэтому я добавил следующее:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    // Set cell width to 100%
    let collectionViewWidth = self.collectionView.bounds.size.width
    return CGSize(width: collectionViewWidth, height: 35)
}

То, что происходит, - то, что, когда представление загружено, ширина UILabel все еще мала. Если я перейду к другому виду, а затем вернусь назад, то это 100%. Так что я должен сделать что-то вviewDidLoad() право? Я уже используюself.collectionView.reloadData() но я думаю, что это только для данных.

Обновление 2
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    var cell = collectionView.dequeueReusableCellWithReuseIdentifier("locationCell", forIndexPath: indexPath) as LocationViewCell
    cell.locationLabel.text = "Hello UILabel"

    // Set cell width to 100%
    let collectionViewWidth = self.collectionView.bounds.size.width
    cell.frame.size.width = collectionViewWidth
    cell.locationLabel.frame.size.width = collectionViewWidth

    return cell
}

Ответы на вопрос(1)

Ваш ответ на вопрос