我正在尝试这个自定义类 — TMQuiltView — <a href="https://github.com/1000Memories/TMQuiltView" rel="nofollow">https://github.com/1000Memories/TMQuiltView。通常,我在 Storyboard 中布局界面,这不是问题。由于这是一个自定义类,看起来好像我必须以编程方式这样做。
我会发布他们演示中的截图,但我没有足够的声誉。相反,我将展示 -(void) layoutSubviews 方法
- (void)layoutSubviews {
self.photoView.frame = CGRectInset(self.bounds, kTMPhotoQuiltViewMargin, kTMPhotoQuiltViewMargin);
self.titleLabel.frame = CGRectMake(kTMPhotoQuiltViewMargin, self.bounds.size.height - 20 - kTMPhotoQuiltViewMargin, self.bounds.size.width - 2 * kTMPhotoQuiltViewMargin, 20);
}
我的目标是让 titleLabel 出现在 photoView 下方,但我不希望它具有确定的大小(即,如果我是故事板,我会使用自动布局)。所以,在titleLabel的方法中,我尝试计算标签的高度:
CGSize labelSize = [_titleLabel.text sizeWithFont:_titleLabel.font
constrainedToSize:_titleLabel.frame.size
lineBreakMode:NSLineBreakByWordWrapping];
labelHeight = labelSize.height;
但这就是我陷入死胡同的地方。我不能在制作 CGRect 时使用它(CGPoint 不兼容)。我在某处为图像制作 CGRect 吗?我如何定义它与 self.bounds 的关系?