【问题标题】:UIView category for setting origins and sizes directly用于直接设置原点和大小的 UIView 类别
【发布时间】:2011-02-01 10:55:32
【问题描述】:

我是 iPhone 应用程序编程的初学者。
我真的不喜欢我们必须设置原点和大小的方式,例如:

UIView *view;  
CGRect frame = view.frame;  
frame.origin.x = 100;  
view.frame = frame;  

或:

UIView *view;  
view.frame = CGRectMake(100, view.frame.origin.y, view.frame.size.width, view.frame.size.height);  

所以我为 UIView 创建了一个类别,例如:

@interface UIView (Origin)  
-(void) setOriginX:(CGFloat)x;  
-(void) setOriginY:(CGFloat)y;  
-(void) setOriginX:(CGFloat)x y:(CGFloat)y;  
-(void) setWidth:(CGFloat)w;  
-(void) setHeight:(CGFloat)h;  
-(void) setWidth:(CGFloat)w height:(CGFloat)h;  
@end  

@implementation UIView(Origin)  
-(void) setOriginX:(CGFloat)x {  
  self.frame = CGRectMake(x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);  
}  
...  
@end  

然后我可以写:

UIView *view;  
[view setOriginX 100];  

这对我来说很方便,但是有没有担心我不应该做这样的事情,或者有什么更简单的方法可以直接设置原点/大小?

【问题讨论】:

    标签: iphone ios uiview categories


    【解决方案1】:

    我找到了一些设置框架defined in three20的快捷方式,非常方便定位和调整视图大小,例如:

    // frame.origin.x
    x
    // frame.origin.y
    y
    //frame.origin
    origin
    // center
    center
    // frame.size
    size
    // center.x
    centerX
    // center.y
    centerY
    // frame.size.width
    width
    // frame.size.height
    height
    // x
    left
    // x + width
    right
    // y
    top
    // y + height
    bottom
    

    它们都定义了 setter 和 getter。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      相关资源
      最近更新 更多