2014-06-23 203 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]; 
相关问题