美文网首页
OC基础之不许直接修改结构体属性

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

作者: jshto | 来源:发表于2018-01-14 23:07 被阅读12次

    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;

    相关文章

      网友评论

          本文标题:OC基础之不许直接修改结构体属性

          本文链接:https://www.haomeiwen.com/subject/iazpittx.html