为什么我不能在UICollectionViewCell中访问UILabel?

时间:2015-03-13 19:12:55

标签: uicollectionview uicollectionviewcell

场景:
尝试制作基本的n x n集合流布局。 enter image description here
我只是在一个股票单元的中间放置了一个带有#1标签的单字符UILabel。 我打算抓住这个UILabel并用一个工作日的首字母填充它
我通过从单元格中抓取UILabel并设置其值来执行此操作:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    NSInteger item = indexPath.item;

    BOOL isTitleRow = (item <= 6);

    if (isTitleRow) {
        UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:kWeekDayHeaderCell forIndexPath:(NSIndexPath *)indexPath];

        UILabel *label = (UILabel *)[cell.contentView viewWithTag:1];
        label.text = [self dayHeaderStringFor:item];

        return cell;
    } else {
        InspectionCalendarCollectionViewCell *cell = (InspectionCalendarCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:kMonthDayCell forIndexPath:(NSIndexPath *)indexPath];
        return cell;
    }
    return nil;
}

但我没有得到任何东西,所以我开始检查发现UILabel是零(即使默认情况下它应该有字母&#39; W&#39;):

(lldb) po label
nil
(lldb) po cell
<UICollectionViewCell: 0x7fdc93f4b180; frame = (0 0; 32 32); clipsToBounds = YES; autoresizesSubviews = NO; layer = <CALayer: 0x7fdc93f4a050>>

(lldb) po cell.contentView
<UIView: 0x7fdc93f4b730; frame = (0 0; 0 0); gestureRecognizers = <NSArray: 0x7fdc93f4c630>; layer = <CALayer: 0x7fdc93f49fd0>>

(lldb) po cell.contentView.subviews
<__NSArrayI 0x7fdc93f00bc0>(

)

为什么单元格的contentView布局是零?
为什么单元格中没有列出子视图? --- IB有它们。
我在这里缺少什么?

0 个答案:

没有答案