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;