快速修改frame

这篇博客介绍了如何方便地修改UIView的frame,由于frame是结构体,直接修改单个属性不便,作者通过创建UIView类别并定义getter和setter方法,实现了快捷修改frame的各个属性,简化了代码。
摘要由CSDN通过智能技术生成

快速修改UIView的frame

本篇是本人写的第一篇博客, 博客内容借鉴了简书@sunljz的文章, 写博客的目的是整理自己学习的内容, 同时也锻炼自己.

UIView的frame是我们开发中最熟悉不过的属性之一了, 而我们在开发过程中经常需要对设置好的frame进行改变. 但是修改frame非常麻烦, frame是CGRect类型的, 而CGRect是结构体, 结构体类型里是不允许修改单个属性的, 那么我们想修改frame的属性的话, 需要三个步骤, 1.先把frame取出来 2.修改frame 3.重新赋值回去.

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
    CGRect frame = view.frame;
    frame.size.width += 50;
    view.frame = frame;

如果frame的单个属性可以直接修改, 那么使用起来会很方便, 代码看起来也很整洁.其实这时我们给UIView加个类别就可以达到这种效果了.

在类别中声明属性 :

#import <UIKit/UIKit.h>

@interface UIView (Layout)
​
@property (nonatomic, assign) CGFloat top;          /**< 上方位置 */
@property (nonatomic, assign) CGFloat bottom;       /**< 底部位置 */
@property (nonatomic, assign) CGFloat left;         /**< 左边位置 */
@property (nonatomic, assign) CGFloat right;        /**< 右边位置 */@property (nonatomic, assign) CGFloat x;            /**< x坐标 */
@property (nonatomic, assign) CGFloat y;            /**< y坐标 */
@property (nonatomic, assign) CGPoint origin;       /**< 起始点 */@property (nonatomic, assign) CGFloat centerX;      /**< X的中心位置 */
@property (nonatomic, assign) CGFloat centerY;      /**< Y的中心位置 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值