2014-12-13 56 views
0

Autolayout遇到一些問題並使用VFL定義它。Autolayout VFL和邊距

我在代碼中有一個UILabel和UIImage,我想將它們都對齊到容器的頂部。一切工作正常,除了UILabel,其頂部填充,我無法擺脫。

我用一個很簡單的VFL字符串: 「V:| - (0) - [LABELVIEW]」 和 「V:| - (0) - 的ImageView]」

的ImageView的工作,它應該,但labelView有填充,我無法擺脫。

AL Problem

有沒有辦法,我可以關閉一個保證金或填充設置?

任何幫助將不勝感激。

回答

0

好的,做了一些研究,並感謝這個鏈接中的圖形: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)]; 
} 

希望這有助於其他人尋求解決類似的問題! :-)