关于 Expression is not assignable 错误

时间:2021-08-16 15:15:59

1.在 Build Phases中导入  UIKit.framework

2.在pch中导入头文件

#import <UIKit/UIKit.h>

3.写一个分类

即可解决

贴出分类代码

......h文件

#import <UIKit/UIKit.h>

@interface UIView (Extension)

@property (nonatomic, assign) CGFloat x;

@property (nonatomic, assign) CGFloat y;

@property (nonatomic, assign) CGFloat centerX;

@property (nonatomic, assign) CGFloat centerY;

@property (nonatomic, assign) CGFloat width;

@property (nonatomic, assign) CGFloat height;

@property (nonatomic, assign) CGSize size;

@property (nonatomic, assign) CGPoint origin;

@end

.....m文件

#import "UIView+Extension.h"

@implementation UIView (Extension)

- (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;

}

- (CGFloat)x

{

return self.frame.origin.x;

}

- (CGFloat)y

{

return self.frame.origin.y;

}

- (void)setCenterX:(CGFloat)centerX

{

CGPoint center = self.center;

center.x = centerX;

self.center = center;

}

- (CGFloat)centerX

{

return self.center.x;

}

- (void)setCenterY:(CGFloat)centerY

{

CGPoint center = self.center;

center.y = centerY;

self.center = center;

}

- (CGFloat)centerY

{

return self.center.y;

}

- (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;

}

- (CGFloat)height

{

return self.frame.size.height;

}

- (CGFloat)width

{

return self.frame.size.width;

}

- (void)setSize:(CGSize)size

{

CGRect frame = self.frame;

frame.size = size;

self.frame = frame;

}

- (CGSize)size

{

return self.frame.size;

}

- (void)setOrigin:(CGPoint)origin

{

CGRect frame = self.frame;

frame.origin = origin;

self.frame = frame;

}

- (CGPoint)origin

{

return self.frame.origin;

}

@end