Autolayout VFL和边距

问题描述:

Autolayout遇到一些问题并使用VFL定义它。Autolayout VFL和边距

我在代码中有一个UILabel和UIImage,我想将它们都对齐到容器的顶部。一切工作正常,除了UILabel,其顶部填充,我无法摆脱。

我用一个很简单的VFL字符串: “V:| - (0) - [LABELVIEW]” 和 “V:| - (0) - 的ImageView]”

的ImageView的工作,它应该,但labelView有填充,我无法摆脱。

AL Problem

有没有办法,我可以关闭一个保证金或填充设置?

任何帮助将不胜感激。

好的,做了一些研究,并感谢这个链接中的图形: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)]; 
} 

希望这有助于其他人寻求解决类似的问题! :-)