zoukankan      html  css  js  c++  java
  • UI中面试常见问题

    UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow,但可以手动创建多个UIWindow
    UIWindow的主要作用:
    提供一个区域来显示视图
    将事件分发给视图
    与UIViewController协同工作,方便完成设备方向旋转的支持
    王军老师  22:32:36
    添加UIView到UIWindow中两种常见方式:
    addSubview:直接将UIView添加到UIWindow中,程序负责维护UIView的生命周期以及刷新,但并不会理会UIView对应的UIViewController
    rootViewController:自动将UIViewController对应的UIView添加到UIWindow中,同时负责维护UIViewController和UIView的生命周期
     
    常用方法
    makeKeyWindow:让当前UIWindow变成keyWindow
    makeKeyAndVisible:让当前UIWindow变成keyWindow,并显示出来
    王军老师  22:33:11
    UIView是iOS中界面元素的基础,所有的界面元素都继承它,可以说在iPhone中你能看到的、摸到的,都是UIView
    UIView的基本功能:
    绘图和动画(用CALayer和CAAnimation实现)
    事件处理(继承了UIRsponder)
    一个UIView可以包含和管理若干个子视图,决定着子视图的位置和大小
    王军老师  22:33:30
    frame 
    在父视图坐标系中的位置(CGPoint origin)和大小(CGSize size)
    bounds
    在本视图坐标系中的位置(CGPoint origin的x、y永远为0)和大小(CGSize size)
    center
    视图的中点在父视图坐标系中的位置
    UIView *superview 父视图
    NSArray *subviews 所有的子视图
    UIWindow *window  当前视图所在的窗口
    BOOL userInteractionEnabled YES代表接收触摸事件
     
    王军老师  22:33:38
    View1是View2的父视图
    View2.frame = {x=70,y=50,width=60,height=40}
    View2.bounds = {x=0,y=0,width=60,height=40}
    View2.center = (x=100, y=70)
     
    UIKit框架中的坐标系都如左图所示,视图的左上角为原点(0,0),x轴向右正向延伸,y轴向下正向延伸
     
    View3中frame的x,y值:
    如果绿色视图是View3的父视图,那么View3的x,y为红色箭头的长度
    如果View1是View3的父视图,那么View3的x,y为蓝色箭头的宽度
    王军老师  22:33:48
    - (void)removeFromSuperview
    从父视图中移除(当前视图的计数器会-1)
    - (void)addSubview:(UIView *)view
    添加一个子视图(新添加的子视图在父视图的最上面,子视图的计数器会+1)
    - (UIView *)viewWithTag:(NSInteger)tag
    根据tag找到对应的子视图
    王军老师  23:23:02
    frame指的是:该view在父view坐标系统中的位置和大小。(参照 点是父亲的坐标系统) bounds指的是:该view在本身坐标系统中 的位 置和大小。(参照点是本身坐标系统)
  • 相关阅读:
    获取exe可执行程序文件中的图标
    在客户端显示服务器时钟
    解决系统管理员不允许使用保存的凭据登录远程计算机
    c#反射实现实体类生成以及数据获取与赋值
    c# 利用反射动态给实体类对象赋值
    将一个DataTable转换成一个List<T>的泛型集合
    解决table中无内容边框显示不出来的问题
    javascript 格式化日期显示
    一些常用的
    Web.config配置
  • 原文地址:https://www.cnblogs.com/YDBBK/p/4790963.html
Copyright © 2011-2022 走看看