无题

1、【颜色定制】

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;

    指定RGB,参数是:红、绿、黄、透明度,范围是0-1

    以0x开始的数据表示16进制,0xff换成十进制为255。

CGFloat R  = (CGFloat) 225/255.0;

CGFloat G = (CGFloat) 66/255.0;

CGFloat B = (CGFloat) 88/255.0;

CGFloat alpha = (CGFloat) 1.0;

 

UIColor *myColorRGB = [ UIColor colorWithRed: R  green: G  blue: B  alpha: alpha  ];

 

 

2、【NSClassFromString】

    是一个很有用的东西,正常来说

 

    id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init];

 

    和

 

    id myObj = [[MySpecialClass alloc] init];

 

    是一样的。但是,如果你的程序中并不存在MySpecialClass这个类,下面的写法会出错,而上面的写法只是返回一个空对象而已。

 

    因此,在某些情况下,可以使用NSClassFromString来进行你不确定的类的初始化。

 

    NSClassFromString的好处是:

 

    1 弱化连接,因此并不会把没有的Framework也link到程序中。

 

    2 不需要使用import,因为类是动态加载的,只要存在就可以加载。因此如果你的toolchain中没有某个类的头文件定义,而你确信这个类是可以用的,那么也可以用这种方法。

 

3、【setTitleEdgeInsets】

    UIButton内有两个控件titleLabel和imageView,可以用来显示一个文本和图片,这里的图片区别于背景图片。给UIButton设置了title和image后,它们会图片在左边,文本在图片右边显示。它们两个做为一个整体依赖于button的contentHorizontalAlignment居左居右或居中显示。

 

    1.当button.width < image.width时,只显示被压缩后的图片,图片是按fillXY的方式压缩。

 

    2.当button.width > image.width,且 button.width < (image.width + text.width)时,图片正常显示,文本被压缩。

 

    3.当button.width > (image.width + text.width),两者并列默认居中显示,可通过button的属性contentHorizontalAlignment改变对齐方式。

 

    4.想两改变两个子控件的显示位置,可以分别通过setTitleEdgeInsets和setImageEdgeInsets来实现。需要注意的是,对titleLabel和imageView设置偏移,是针对它当前的位置起作用的,并不是针对它距离button边框的距离的。

 

posted @ 2015-09-10 19:45  海东青飞吧!  阅读(156)  评论(0编辑  收藏  举报