首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用自定义xib和contentView对contentView进行子类

用自定义xib和contentView对contentView进行子类
EN

Stack Overflow用户
提问于 2015-09-28 22:57:19
回答 1查看 738关注 0票数 3

我使用文件>新建>文件…的Xcode UI创建了子类> Cocoa类(也选中创建xib文件)…好了。

我将子视图直接添加到集合视图单元格的view子视图中:

我已经在UICollectionView注册了子类和nib,一切都很好。但是,当我以编程方式访问集合视图单元格的contentView属性以设置其背景颜色时,它不会改变。

代码语言:javascript
复制
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
{
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(CellIdentifiers.Category, forIndexPath: indexPath) as! CategoryCollectionViewCell

    let category = categoryForIndexPath(indexPath)

    cell.textLabel.text = titleForCategory(category)

    cell.contentView.backgroundColor = UIColor.redColor()

    return cell
}

在lldb中,我的contentView有地址:0x13fdc3550,而文本标签的superview (我认为应该是contentView)有地址contentView,所以它们肯定是不同的。

如何使用自定义xib成功地子类UICollectionViewCell并通过contentView属性访问内容视图?

P.s,有趣的是,如果我将这个contentView属性隐藏为true,那就有效了。

EN

回答 1

Stack Overflow用户

发布于 2015-09-29 02:25:46

文本标签的superView是拖动到单元格中的UIView。它应该是单元格的contentView的子视图。因此,当您将contentView隐藏为true时,它的子视图也隐藏了起来。但是,当您将contentView的backgroundColor设置为某个内容时,您拖到单元格中的视图将覆盖它。您可以检查文本标签的superview的superview,以查看它是否与lldb中的contentView地址相匹配。

因此,您可以直接更改视图的backgroundColor,也可以更改单元格的布局,删除该视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32833075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档