zoukankan      html  css  js  c++  java
  • iOS面试题03-UI控件

    UI控件面试题

    1.怎么解决缓存池端的问题(cell)

    回答:1.>OS中不存在缓存池的情况,因为通常我们iOS开发,对象都是在需要的时候才会创建,

    有种常用的说话叫做懒加载,还有在UITableView中一般只会创建刚开始出现在屏幕中的cell,之后都是从缓存池里取,不会在创建新对象。缓存池里最多也就一两个对象,缓存池满的这种情况一般在开发java中比较常见,java中一般把最近使用的对象先释放

       2>优先一处使用次数比较少的对象、优先缓存时间最长的对象(让年轻的活下来)、优先移除占用内存比较大对象

    2.CAAnimation的层级结构

    如果使用CAAnimation

    1>创建CAAimation对象

    2>设置CAAnimation对象的属性

    3>添加CAAnimation对象到CALayer上,CALayer就会自动执行这个动画

    keyPath=@"bounds";

    3.UIButton与UITableView的层级结构

    回答:1>继承结构

       2>内部的子控件结构

    4.如何渲染自定义格式字符串的UILabel

    回答:1>通过NSAttributedString类

    5.设置scroll view的contensize能在Viewdidload里设置吗,为什么

    回答:1>能

    任何控制器在创建控制器View在ViewDidLoad那一刻320X480,所以,UIScrollView的contentSize是基于子控制器0   View的尺寸320X480,contentSize是在ViewDidLoad进行调整尺寸,当加入到控制器View尺寸又会被调整变小

    当子控制器添加到控制器View,子控制View尺寸被调整,创建控制器的View在viewDidLoad、viewWillAppear、viewDidAppear那一刻尺寸可能是不一样

  • 相关阅读:
    Access control configuration prevents your request from being allo
    利用Squid + DNSPOD 搭建CDN服务器
    Nginx Location配置总结
    Weblogic下启用Gzip压缩
    Java 8 的新特性和改进总览
    Java 8 中 HashMap 的性能提升
    测试 Nginx 作为前端下各种模式的性能
    通过使用第三方开源jar包sigar.jar我们可以获得本地的信息
    ProGuard使用简介
    Java Web应用软件保护方法
  • 原文地址:https://www.cnblogs.com/linmingjun/p/4787677.html
Copyright © 2011-2022 走看看