美文网首页
UIAppearance Tutorial总结

UIAppearance Tutorial总结

作者: One9398 | 来源:发表于2016-02-23 08:32 被阅读95次

    本文是通过Ray网站的UIAppearance-tutorial学习后的知识点记录,觉得在实际开发还是很有可能用到.

    tintColor的使用

    对指定视图设置tintColor后,会自动改变该视图的视图层次上所有其子视图tintColor.例如下面代码:

     UIApplication.sharedApplication().delegate?.window??.tintColor = theme.mainColor
    

    改变根窗口的tintColor,作为其层次层次所有的子视图的tintColor都会成为同一颜色

    UIAppearance协议对象的使用

    改变UIAppearance协议对象的属性,就能改变所有其遵从该协议类的所有实例,iOS应用的appearance只会对当视图加入到窗口时有效,对于已经添加在窗口的视图不起作用,需要通过移除其所在的视图层次位置,再添加回来.

    iOS对图像的渲染模式

    Original
    : 使用图像原有的色彩渲染
    Template
    : 忽略图像原有的色彩,仅仅将图像的图形做样本,使用tintColor的颜色来渲染图形
    Automatic
    : 根据使用图像的上下文环境,系统决定选用以上中的一种进行图形的色彩渲染,常常在应用导航栏或工具栏的items上.

    改变导航栏的返回item的图片以及细节处理

    必须设置backIndicatorImage, backIndicatorTransitionMaskImage指定图片才能成功.

    UINavigationBar.appearance().backIndicatorImage = UIImage(named: "backArrow")
    UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(named: "backArrowMaskFixed")
    

    iOS遮罩处理

    被遮罩层只有通过遮罩层上的非透明像素可见, 其他区域只要在透明的像素下都不可见.
    下图红色图形作为遮罩层后,如果两层有叠加,灰色图形只会显示遮罩层有红色像素的区域


    mask view

    iOS中对图片的裁剪和拉伸

    tabIndicator.resizableImageWithCapInsets(UIEdgeInsets(top: 1.0, left: 2.0, bottom: 1.0, right: 2.0)

    resizableImage

    代码中top,left,bottom,right 为目标图像四个方向裁剪线的边界值,只有在裁剪线所围成的区域才会被裁剪和平铺,按左到有,上到下的顺序进行图片大小调整.通常用避免图片四端不变形,平铺中间小块区域才达到调整图像大小的目的,官方推荐最好的性能的裁剪方式是平铺区域只有1x1像素.

    相关文章

      网友评论

          本文标题:UIAppearance Tutorial总结

          本文链接:https://www.haomeiwen.com/subject/uuavkttx.html