2015-06-27 74 views
0

我正在使用Xamarin.iOS,並且我希望UILabel和UIImage具有與容器視圖相同的邊距對齊。見圖像下方對齊UILabel和UIImage

Template

眼下,圖片和文字具有相同的高度,但由於標籤的填充,頂部和底部有較大的利潤空間。順便說一句,我已經使用SizeToFit()。 這裏是我的代碼:

nfloat gap = 10f; 
UIView containerView = new UIView(); 
UILabel textView = new UILabel(); 
textView.BackgroundColor = UIColor.Red; 
textView.Text = "HELLO!"; 
textView.Font = UIFont.FromName ("Arial-BoldMT", 40f); 
textView.ContentMode = UIViewContentMode.Bottom; 
textView.SizeToFit(); 
textView.Frame = new CGRect (gap, gap, textView.Frame.Width, textView.Frame.Height); 
containerView.AddSubview (textView); 

UIImageView imgView = new UIImageView (UIImage.FromBundle ("Sample-icon")); 
imgView.Frame = new CGRect (textView.Frame.X + textView.Frame.Width + gap, 
textView.Frame.Y, textView.Frame.Height, textView.Frame.Height); 
imgView.ContentMode = UIViewContentMode.ScaleToFill; 
containerView.AddSubview (imgView); 

containerView.Frame = new CGRect(10, 50, gap + textView.Frame.Width + gap + imgView.Frame.Width + gap, gap + textView.Frame.Height + gap); 
containerView.BackgroundColor = UIColor.Yellow; 
View.AddSubview (containerView); 

這怎麼看起來像現在:

Current view

我的問題是我怎麼能刪除所有墊襯(包括頂部和底部),如果仍然有可能我可以刪除左右小墊子

我可以理解Objective-C編碼,所以如果有參考使用它,請分享

謝謝!

更新! 這是我的CustomLabel,結果相同。

enter image description here

回答

0

試試這個link

設置爲0所有插圖。所以,你不會得到微胖

CustomLabel.h

#import <UIKit/UIKit.h> 

@interface CustomLabel : UILabel 

@end 

CustomLabel.m

#import "CustomLabel.h" 
#import <QuartzCore/QuartzCore.h> 

@implementation CustomLabel 

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 

// for inset 
-(void) drawTextInRect:(CGRect)rect 
{ 
    UIEdgeInsets insets = {0, 0, 0, 0}; 

    [super drawTextInRect: UIEdgeInsetsInsetRect(rect, insets)];  
} 

YourViewController.h

#import <UIKit/UIKit.h> 
#import "CustomLabel.h" 

@interface YourViewController : UIViewController { 
    CustomLabel *myLabel; 
} 

@property (strong, nonatomic) IBOutlet CustomLabel *textView; 

@end 
+0

Hi @Sujay,我試過了。我已經嘗試了UILabel的子類化,但它不起作用。 – marhs08

+0

@ marsh08,你有沒有爲你的文本字段使用自定義類名? – Sujay

+0

你是否想要這樣的東西:textView = new CustomButtonLabel(); ..?是 – marhs08