• CALayer & bitmap Content


    Working with High-Resolution Images

    Layers do not have any inherent knowledge of the resolution of the underlying device’s screen. A layer simply stores a pointer to your bitmap and displays it in the best way possible given the available pixels. If you assign an image to a layer’s contents property, you must tell Core Animation about the image’s resolution by setting the layer’s contentsScale property to an appropriate value. 

    Providing a Layer’s Contents

    Layers are data objects that manage content provided by your app. A layer’s content consists of a bitmap containing the visual data you want to display. You can provide the content for that bitmap in one of three ways:

    • Assign an image object directly to the layer object’s contents property. (This technique is best for layer content that never, or rarely, changes.)
    • Assign a delegate object to the layer and let the delegate draw the layer’s content. (This technique is best for layer content that might change periodically and can be provided by an external object, such as a view.)
    • Define a layer subclass and override one of its drawing methods to provide the layer contents yourself. (This technique is appropriate if you have to create a custom layer subclass anyway or if you want to change the fundamental drawing behavior of the layer.)

    The only time you need to worry about providing content for a layer is when you create the layer object yourself. If your app contains nothing but layer-backed views, you do not have to worry about using any of the preceding techniques to provide layer content. Layer-backed views automatically provide the contents for their associated layers in the most efficient way possible.

    Using an Image for the Layer’s Content

    Because a layer is just a container for managing a bitmap image, you can assign an image directly to the layer’s contents property. Assigning an image to the layer is easy and lets you specify the exact image you want to display onscreen. The layer uses the image object you provide directly and does not attempt to create its own copy of that image. This behavior can save memory in cases where your app uses the same image in multiple places.

    The image you assign to a layer must be a CGImageRef type.

  • 相关阅读:
    015.现场.快用Scala(4月)
    014.科普.有生产力的Sql语句
    JQuery速记
    草稿
    使用jquery.layout.js构建页眉/页脚/左侧导航/中间展示内容的网页结构
    实践自己的WebSite______流水
    如何生成带注释的DLL文件
    MVC如何在解决方案下创建文件夹
    如何利用子视图
    【草稿】JS中如何操作时间
  • 原文地址:https://www.cnblogs.com/feng9exe/p/6733876.html
Copyright © 2020-2023  润新知