2014-06-23 427 views
1

要設置高度UIView,我需要將框架設置爲它的x,y,寬度,最後是我的高度。有沒有更簡單的方法來設置UIView的高度?

[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, myHeight)] 

這是很煩人的。有更簡單的內置方式嗎?

回答

1

你只需要建立你的框架並設置它。或者您可以創建一個類別來完成自定義幫助器方法。

6
CGRect frame = view.frame; 
frame.size.height = myHeight; 
view.frame = frame; 

哪一個較小且還傳達只有你所需要的含義(您更改高度,沒有別的)

2
#define SetViewHeight(view, height) [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, height)] 

現在你可以使用SetViewHeight(view, myHeight);設置高度。

2

是的!作出的UIView

類別
@interface UIView (Customize) 

- (void)setX:(CGFloat)x; 
- (void)setY:(CGFloat)y; 
- (void)setWidth:(CGFloat)width; 
- (void)setHeight:(CGFloat)height; 

@end 

@implementation 

- (void)setX:(CGFloat)x 
{ 
    CGRect frame = self.frame; 
    frame.origin.x = x; 
    self.frame = frame; 
} 

- (void)setY:(CGFloat)y 
{ 
    CGRect frame = self.frame; 
    frame.origin.y = y; 
    self.frame = frame; 
} 

- (void)setWidth:(CGFloat)width 
{ 
    CGRect frame = self.frame; 
    frame.size.width = width; 
    self.frame = frame; 
} 

- (void)setHeight:(CGFloat)height 
{ 
    CGRect frame = self.frame; 
    frame.size.height = height; 
    self.frame = frame; 
} 

@end 

導入您的類別你想要,只是對你的看法稱:

[view setHeight:666]; 
相關問題