从笔尖加载的 UIView 未显示多个 UILabel
Posted
技术标签:
【中文标题】从笔尖加载的 UIView 未显示多个 UILabel【英文标题】:Multiple UILabel not displaying with UIView loaded from nib 【发布时间】:2015-05-06 21:06:09 【问题描述】:我正在尝试从 nib 加载 UIView
并将其作为 UICollectionView
的“标题”,使用视图控制器的 viewDidLoad
中的以下代码:
self.collectionView.contentInset = UIEdgeInsetsMake(220, 0, 0, 0);
self.overView = (OverviewView *)[[[NSBundle mainBundle] loadNibNamed:@"OverviewNib" owner:self options:nil] objectAtIndex:0];
[self.overView setFrame:CGRectMake(10, -210, self.view.frame.size.width - 20, 200)];
[self.collectionView addSubview:self.overView];
OverviewView
类的子视图在其 nib 中有几个 UILabel
带有自动布局指令。一种是固定到视图的左上角。但是没有一个UILabel
出现。
我可以看到 nib 正在加载,因为它的 awakeFromNib
方法正在被调用。此外,我可以看到我在 Interface Builder 中设置的视图的背景颜色。我已将视图的所有者设置为视图控制器的类。
如何确保这些UILabel
出现?
【问题讨论】:
为什么直接添加为子视图?为什么它不是布局的一部分或集合视图的兄弟? 它不是集合视图的兄弟,因为我希望视图与集合视图一起滚动。如果您知道更好的方法,我会全力以赴! 【参考方案1】:您应该将其创建为布局中的标题视图,然后设置内容偏移量/插入,以使其最初滚动到屏幕之外(如果这是您的目标)。通过使其成为布局的一部分,它将被正确管理,而通过将其直接添加到集合视图中,您将隐藏它并希望集合不会弄乱它...
【讨论】:
以上是关于从笔尖加载的 UIView 未显示多个 UILabel的主要内容,如果未能解决你的问题,请参考以下文章
从笔尖加载的 UITableViewCell 未更新(缓存?)