OC基础之不许直接修改结构体属性

OC语法规定不许直接修改结构体属性 比如下面写法是不允许的:

self.button.frame.origin.y -=5;

那么要怎么修改一个button属性呢,比如我们点击一个按钮,让其Y值向上移动

法一直接在button方法内获取其Frame属性进行修改:

CGRect btframe=self.button.frame; 

btframe.origin.y -=5; 

self.btone.frame=btframe;

同理修改高宽时换成size即可,但这种方法在稍微大点的项目时会很麻烦

法二,新建UIView分类,利用分类属性修改

- (void)setJt_y:(CGFloat)jt_y

{

CGRect rect =self.frame;

rect.origin.y = jt_y;

self.frame = rect;

}

- (CGFloat)jt_y

{

returnself.frame.origin.y;

}

在以后使用时我们只要直接引入分类头文件就可使用,是不是非常方便


self.btone.jt_y+=5;


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容