1.
#import <UIKit/UIKit.h>
@interface myView : UIView
@property(nonatomic,readonly,assign)float width;
@property(nonatomic,readonly,assign)float height;
@end
2.
- (void)viewDidLoad {
[super viewDidLoad];
myView *view1=[[myView alloc]init];
//view1.width=20;
[view1 setValue:@20 forKey:@"width"];
NSLog(@"view1.width==%f",view1.width);
}输出结果:
view1.width==20.000000
总结:通过kvc可以实现给readonly属性赋值。
补充的例子(设置btn位于屏幕的中心点):
UIButton *btn=[[UIButton alloc]init];
btn.frame=CGRectMake(0, 0, 100, 50);
float aa=self.view.frame.size.width/2;
float aa2=self.view.frame.size.height/2;
CGPoint point=CGPointMake(aa, aa2);
NSValue *val=[NSValue valueWithCGPoint:point];
[btn setValue:val forKey:@"center"];