setValue: forKeyPath:

通过 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>

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

时间: 2024-10-13 13:44:50

setValue: forKeyPath:的相关文章

setValue: forKey: 和 setValue: forKeyPath:

一. 先说下setObject forKey 和 setValue forKey 1.setObject:ForKey: 是NSMutableDictionary特有的:setValue:ForKey:是KVC的主要方法:2.setObject:ForKey:中object对象不能为nil,不然会报错:key的参数只要是对象就可以,并局限于 NSString:                                                                     

setObject:forKey:与setValue:forKey:的区别

首先不可变字典可以调起setValue:forKey:,但不能真正的进行操作,这取决与不可变字典不可增删改的特性. 然后看一下setObject:forKey: . setValue:forKey: . setValue:forKeyPath: 的标准调用语句: [muDict setValue:<#(nullable id)#> forKey:<#(nonnull NSString *)#>];[muDict setValue:<#(nullable id)#> fo

UIPickView 和 UIDatePicker

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

ios开发-UI基础-超级猜图

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/ 本篇文章介绍一个比较综合的小应用----超级猜图. 功能分析: 根据显示的图片,在下面的待选项按钮中选中正确答案按钮,选中的按钮会显示在正确答案按钮中 答案错误,答案颜色变为红色,分数减小 答案正确,答案颜色变为蓝色,两秒自动跳入下一题,分数增加 点击"下一题"可以进入下一个题目 点击"大图",可以放大显示图片,再次点击图片或者背景,图片缩小至原来大小 点

百思不得姐第1天

一:项目环境的搭建: 项目环境的搭建包括:1:新建类的前缀   2:项目支持的旋转方向,版本   3:项目名称,软件名称 4:APP的icon,启动图片的设置 5:项目的文件夹分层 6:根控制器的设置 等 具体详情请参照新浪微博的项目环境配置 二:cocoaPods的安装与使用 1:具体参照新浪微博项目cocoaPods的安装与使用:安装并导入所需要的依赖库 三:百思不得姐主框架的搭建 1:删除storyBoard,重新定义窗口的根视图控制器 #import "AppDelegate.h&quo

Objective - C 中的KVC(一)(视图、便携、易懂、原创纯手打 定制版)

KVC的使用 1.KVC 全称 key valued coding 键值编码 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性.JAVA,C#都有这个机制.ObjC也有,所以你根部不必进行任何操作就可以进行属性的动态读写,就是KVC. KVC的操作方法由NSKeyValueCoding提供,而他是NSObject的类别,也就是说ObjC中几乎所有的对象都支持KVC操作. 2.常用方法 获取值的方法 valueForKey

iOS开发-OC篇-KVC详解

说到KVC,不得不承认KVC在开发过程中是神器一般的存在.如果正确灵活使用kvc,会使得整个开发过程轻松很多. KVC的使用 1.KVC 全称 key valued coding 键值编码 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性.JAVA,C#都有这个机制.ObjC也有,所以你根部不必进行任何操作就可以进行属性的动态读写,就是KVC. KVC的操作方法由NSKeyValueCoding提供,而他是NSObjec

IOS UI基础04

动画 1.头尾式动画 动画开始 [UIView beginAnimations:nil context:nil]; 设置动画时间 [UIView s ! etAnimationDuration:3]; [UIView setAnimationDelegate:self]; 只要写在开始和结束之间的代码, 就会被执行动画 但是: 并不是所有的代码都能够执行动画 只有属性声明中说明了是animatable的属性,才可以执行UIView动画 CGRect tempFrame2 = self.hudLa

Objective-C 快速入门--基础(五)

1.什么是属性?属性会帮我们做哪些事情?请详细说明. (1)①属性是Objective-C 2.0定义的语法,为实例变量提供了setter.getter方法的默认实现:②能在一定程度上简化程序代码,并且增强实例变量的访问安全性. (2)①属性会对于你声明的实例变量,它会默认帮你补齐你所需要的(你没有声明的,或者你没有实现的)getter,setter方法:②如果你不满意系统默认生成的getter,setter方法 需要同时重写一个实例变量的getter,setter方法,这时就需要注明 @syn