美文网首页很常
iOS开发UI控件的长宽高直接访问

iOS开发UI控件的长宽高直接访问

作者: Flynn_Lee | 来源:发表于2021-03-03 15:55 被阅读0次

1、给UIView写一个分类,下面分别是.h和.m文件的实现源码
.h文件

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UIView (viewCategory)
///控件的x值
@property(nonatomic,assign)CGFloat X;
///控件的y值
@property(nonatomic,assign)CGFloat Y;
///控件的高度
@property(nonatomic,assign)CGFloat Height;
///控件的宽度
@property(nonatomic,assign)CGFloat Width;
///控件的size
@property(nonatomic,assign)CGSize Size;
///控件中心点的X
@property(nonatomic,assign)CGFloat centerX;
///控件中心点的y
@property(nonatomic,assign)CGFloat centerY;
@end

NS_ASSUME_NONNULL_END

.m文件

#import "UIView+viewCategory.h"

@implementation UIView (viewCategory)

#pragma mark set方法实现区域
-(void)setX:(CGFloat)X
{
    CGRect frame = self.frame;
    frame.origin.x = X;
    self.frame = frame;
}

-(void)setY:(CGFloat)Y
{
    CGRect frame = self.frame;
    frame.origin.y = Y;
    self.frame = frame;
}

-(void)setWidth:(CGFloat)Width
{
    CGRect frame = self.frame;
    frame.size.width = Width;
    self.frame = frame;
}

-(void)setHeight:(CGFloat)Height
{
    CGRect frame = self.frame;
    frame.size.height = Height;
    self.frame = frame;
}

-(void)setSize:(CGSize)Size
{
    CGRect frame = self.frame;
    frame.size = Size;
    self.frame = frame;
}

-(void)setCenterX:(CGFloat)centerX
{
    CGPoint center = self.center;
    center.x = centerX;
    self.center = center;
}

-(void)setCenterY:(CGFloat)centerY
{
    CGPoint center = self.center;
    center.y = centerY;
    self.center = center;
}

#pragma mark get方法实现区域
-(CGFloat)X
{
    return self.frame.origin.x;
}

-(CGFloat)Y
{
    return self.frame.origin.y;
}

-(CGFloat)Width
{
    return self.frame.size.width;
}

-(CGFloat)Height
{
    return self.frame.size.height;
}

-(CGSize)Size
{
    return self.frame.size;
}

-(CGFloat)centerX
{
    return self.center.x;
}

-(CGFloat)centerY
{
    return self.center.y;
}

@end

2、头文件导入,可以在要使用的页面直接导入头文件,也可以在PCH文件内导入头文件

#import "UIView+viewCategory.h"

3、具体控件使用

    UIButton *button = [[UIButton alloc]init];
    button.X = 10;
    button.Y = 10;
    button.Width = 100;
    button.Height = 100;

相关文章

网友评论

    本文标题:iOS开发UI控件的长宽高直接访问

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