Autolayout VFL和边距
问题描述:
Autolayout遇到一些问题并使用VFL定义它。Autolayout VFL和边距
我在代码中有一个UILabel和UIImage,我想将它们都对齐到容器的顶部。一切工作正常,除了UILabel,其顶部填充,我无法摆脱。
我用一个很简单的VFL字符串: “V:| - (0) - [LABELVIEW]” 和 “V:| - (0) - 的ImageView]”
的ImageView的工作,它应该,但labelView有填充,我无法摆脱。
有没有办法,我可以关闭一个保证金或填充设置?
任何帮助将不胜感激。
答
好的,做了一些研究,并感谢这个链接中的图形:http://www.cocoanetics.com/2010/02/understanding-uifont/,我能够找出解决方案。
子类的UILabel与以下重写drawTextInRect:
- (void)drawTextInRect:(CGRect)rect
{
CGFloat topInset = self.font.ascender - self.font.descender - self.font.capHeight;
UIEdgeInsets insets = {-topInset, 0, 0, 0};
return [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
希望这有助于其他人寻求解决类似的问题! :-)