+ initialize
和 + load
是
NSObject
类的两个类方法,它们会在运行时自动调用,我们可以利用其特性做一些初始化操作。
可以先思考如下示例控制台应该输出什么:
1 | //父类 |
启动并运行程序,控制台应输出什么呢,见结尾处。
Continue reading+ initialize
和 + load
是
NSObject
类的两个类方法,它们会在运行时自动调用,我们可以利用其特性做一些初始化操作。
可以先思考如下示例控制台应该输出什么:
1 | //父类 |
启动并运行程序,控制台应输出什么呢,见结尾处。
Continue reading项目需求中遇到获取UIView
上某个坐标点的RGB
颜色值的需求,现在把自己找到的解决方案简单总结记录一下,遇到了下面的情况:
项目中经常会遇到限制UITextField中输入字符数的需求,并且会根据输入的英文还是中文给出不同的限定数,本文记录其解决方案。
对于全英文的输入限定很简单,但是输入中文时,当输入拼音但未选择中文时,此时输入文本框的文字会包括输入的拼音,是选中的状态,比如这样:
上面的情况如果打印UITextField的text属性会输出:中国di zhi
。由于拼音是选中状态的,那么可以根据
UITextInput
协议判断UITextField中是否有选中状态的字符,从而决定是否对输入字符进行截断处理。
当改变UIImageView的image属性时,UI会立刻从一张图片切换到另一张图片,显得十分生硬,本文记录如何为改变UIImageView的image属性时加入淡入淡出的效果。
Continue reading项目会遇到给各种UI控件添加渐变背景色的需求,如果只是上下渐变或者左右渐变,可以使用Xcode xcassets
的Slicing功能或者
api
- resizableImageWithCapInsets:
完成功能,但是如果是从左上角到右下角的渐变,或者是右上角到左下角渐变,使用截图恐怕不能完成。下面介绍一种生成渐变颜色UIImage的方法,从而可以使用UIColor的api
+ (UIColor *)colorWithPatternImage:(UIImage *)image
来设置背景色。
Continue readingiOS
UI开发的过程会遇到使用Hex Color
创建UIColor,例如创建颜色为
R:60 G:180 B:174
的UIColor,使用UIColor的api可以使用如下的方式:
[UIColor colorWithRed:51/255.0f green:167/255.0f blue:158/255.0f alpha:1];
上述UIColor的十六进制的表示为0x3CB4AE
,
使用0xFF
来表示alpha值,使用ARGB
的形式拼合成0xFF3CB4AE
,
那么可以使用如下方式创建UIColor:
[UIColor colorWithHex:0xFF3CB4AE]
实现方式如下:
Continue reading本文记录的是使用OC进行NSData和十六进制字符串之间的相互转换。其中将十六进制字符串转换成NSData的代码如下:
Continue reading有时候需要为UIView添加虚线描边,本文记录一种实现方式,主要是通过对UIView的根layer添加CAShapeLayer来完成。效果图如下:
核心代码示例如下:
Continue reading本文记录的是如何绘制一个背景颜色渐变的滑动条,最终的效果如下图:
绘制渐变背景这里用到了CAGradientLayer和CALayer的mask,首先使用两个CAGradientLayer绘制如下的背景:
Continue reading使用Gson序列化对象时,默认情况下,对象值为"null"的字段在输出值会被忽略(NOTE:collections和arrays中的null对象会被保留)。如果要使Gson序列化对象输出所有的null值,可使用如下方法进行配置。
1 | Gson gson = new GsonBuilder().serializeNulls().create(); |
NOTE: 当使用Gson序列化null值时,它会添加JsonNull元素到JsonElement结构中。
Continue reading@Chengdu,WeChat:CaryaLiu
Teacher