首页 > 其他 > 详细

setValue: forKeyPath:

时间:2015-08-07 11:03:18      阅读:245      评论:0      收藏:0      [点我收藏+]


通过 setValue:    forKeyPath:
这个方法来设置一些属性信息      

   

<span style="font-size:18px;"> UITextField *textfield = [UITextField new];
 [textfield setValue:[UIColor redcolor] forKeyPath:@"_placeholderLabel.textColor"];
[self setUIRectCorner:textfield</span><span style="font-size:18px;">];
[self.view addSubview:textfield];
</span>

此处的KeyPath所填写的内容有一个特点,首先是你想要修改的控件里面有这个分支,像UITextField里面就包含placeholderLabel,然后就是针对Label的属性,所以就得到了keyPath的内容“_placeholderLabel.textColor


要是以后有些控件的一些信息无法改变的时候,你可以考虑用一下这个方法来尝试一下


继续上面的内容,一下是设置UITextField一边圆角一边直角的方法


<span style="font-size:18px;">- (void)setUIRectCorner:(UIView*)view {
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds
                                                   byRoundingCorners:UIRectCornerTopLeft|UIRectCornerBottomLeft
                                                         cornerRadii:CGSizeMake(10.0, 10.0)];//10.是给圆角的设置
    CAShapeLayer *maskLayer    = [CAShapeLayer layer];
    CAShapeLayer *borderLayer  =[CAShapeLayer layer];
    
    borderLayer.path           = maskPath.CGPath;
    borderLayer.fillColor      = [UIColor clearColor].CGColor;
    borderLayer.strokeColor    = [UIColor orangeColor].CGColor;
    borderLayer.lineWidth      = 1.5;
    borderLayer.frame          =view.bounds;
    
    maskLayer.path             = maskPath.CGPath;
    
    view.layer.mask = maskLayer;
    
    [view.layer addSublayer:borderLayer];
}

//线面图片就是展示效果以及附带代码
</span>

技术分享






版权声明:本文为博主原创文章,未经博主允许不得转载。

setValue: forKeyPath:

原文:http://blog.csdn.net/red_coraldown/article/details/47335495

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!