iOS小总结

作者: 立刻就爽 | 来源:发表于2016-05-24 17:21 被阅读24次

    一 delegate

    delegate,中文名字代理,委托 顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就设置一个代理(委托人),这样就可以让代理去帮自己去实现什么方法。

    大致上,代理(委托)的作用大致如下:
    1.所谓传事件就是a类发生了什么事,把这件事告诉关注自己的人,也就是委托的对象,由委托的对象去考虑发生这个事件后应该做出什么反映。 (UITextFiled的键盘回收 还有我们完成的触摸事件,改变颜色,大小位置)
    2.所谓传值经常用在b类要把自己的一个数据或者对象传给a类,让a类去展示或者处理。(今天会讲到)
    3.利用委托赋值,这种方法感觉是为了不暴露自己的属性就可以给自己复值,而且这样更方便了类的管理,只有在你想要让别人给你赋值的时候才调用,这样的赋值更可控一些. (UITableView的时候我们也会遇到)

    二 UIControl 控件太多 掌握不熟练
    UIControl 控件的核心方法
    添加事件
    addTarget:action:forControlEvents:
    移除事件
    removeTarget:action:forControlEvents:

    1. UIButton
      设置title
      setTitle:forState:

    设置前景图片
    setImage:forState:

    设置背景图片
    setBackgroundImage:forState:

    2.UISegementedControl
    设置分段
    initWithItems:
    设置点击的颜色
    tintColor
    设置选中分段
    selectedSegmentIndex
    修改分段显示内容
    setTitle:forSegmentAtIndex:

    3.UISlider
    设置最小值
    minimumValue
    设置最大值
    maximumValue

    设置滑块划过区域颜色
    minimumTrackTintColor
    设置滑块未划过区域的颜色
    maximumTrackTintColor
    当前值
    value

    UIStepper
    设置最小值
    minimumValue
    设置最大值
    maximumValue

    每次改变的量
    stepValue
    当前值
    value

    UISwitch
    设置状态
    on

    UIPageControl
    设置当前点的个数
    numberOfPages
    设置当前点的颜色
    currentPageIndicatorTintColor
    设置其他点的颜色
    pageIndicatorTintColor
    设置当前点的位置
    currentPage

    (解耦)
    1.target - action设计模式
    a.声明两个实例变量(_target _action)
    b.使用方法(addTarget: action:)接收外部方法执行者 和 方法
    c.让执行者_target 执行方法_action
    [_target performSelector:@selector:_Action withObject:self];
    2.delegate 设计模式
    a.声明协议
    b.声明服从协议的代理
    c.当touchesBegan时让代理执行协议中的方法
    3.UIImageView
    a.创建对象
    (1)initWithFrame:
    (2)initWithImage:
    b.配置属性
    image
    c.添加父视图
    addSubView:
    d.释放所有权
    release

    三 七大手势 和 transform
    //轻拍
    UITapGestureRecognizer
    //轻扫
    UISwipeGestureRecognizer
    //平移
    UIPanGestureRecognizer
    (CGAffineTransformTranslate)
    //长按
    UILongPressGestureRecognizer
    //捏合
    UIPinchGestureRecognizer
    (CGAffineTransformScale)
    //旋转
    UIRotationGestureRcognizer
    (CGAffineTransformRotate)

    UIScreenEdgePanGestureRecognizer

    四 UIScrollView 和 UIPageControl
    UIScrollview主要专长于两个方面: 滚动 和 缩放

    滚动:

    定义内容区域大小,决定是否能够滑动
    contentSize

    视图左上角距离坐标原点的偏移量
    contentOffset

    是否整屏翻动
    pagingEnabled

    滑动到顶部(点状态条的时候)
    scrollsToTop

    边界是否回弹
    bounces

    是否能够滚动
    scrollEnabled

    控制是否显示水平方向的滚动条
    showsHorizontalScrollIndicator

    控制是否显示垂直方向的滚动条
    showVerticalScrollIndicator

    缩放:

    缩小的最小比例
    minimumZoomScale

    放大的最大比例
    maximumZoomScale

    设置变化比例
    zoomScale

    控制缩放的时候是否会反弹
    bouncesZoom

    要实现缩放,还需要实现delegate,指定缩放的视图是谁。

    协议:
    //滚动
    只要scrollView 滚动就触发

    • (void)scrollViewDidScroll:(UIScrollView *)scrollView;

    开始拖拽时 触发

    • (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

    已经结束拖拽 触发

    • (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

    开始减速 触发

    • (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

    已经结束减速 (停止)

    • (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

    //缩放
    //完成缩放 触发

    • (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale

    //设置缩放子视图

    • (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

    // 响应者链 : 由多个响应者组成的链状结构
    // 对于响应 有两个过程,响应事件查询过程 和 响应事件的处理过程.
    // 查询过程:硬件设备 --> AppLication --> window --> 视图控制器 --> View --> 视图的各个子视图 最终找到被触摸的子视图
    // 处理过程 : 被触摸的视图 --> 各个父视图 --> view --> 视图控制器 --> window --> Application --> ....遗失

    UITextField
    1.文字显示
    text
    textColor
    font
    textAlignment
    placeholder

    2.输入的设置
    enable 允许输入
    KeyBoardType 键盘风格
    returnKeyType return类型风格
    clearOnBeginInEditTing 输入时是否清除
    secureEntry 加密

    3.外观风格
    boardStyle
    leftView
    rightView
    cleanButtonMode 清除按钮
    键盘回收
    delegate

    UIButton
    1.事件
    addTarget:action:forControlEvents:{

    }
    2.文字
    setTitle:forState:
    setTitleColor:forState:
    取文字
    titleColorFortState:
    titleForState:
    3.图片
    setImage:forState:
    imageForState:
    setBackgroundImage:forState:

    创建UI控件需要4部
    1.创建对象
    2.配置属性
    frame : 在父视图坐标系中,描述视图大小和位置
    center:在父视图中坐标系中,中心点的位置
    bounds:在自身坐标系中,中心点的位置
    backgroundColor背景色
    hidden 显隐性
    alpha 透明度
    tag 设置标识量
    subViews 子视图
    superView 父视图

    UILabel的属性
    text 显示文字
    textColor 文字的颜色
    textAlignment 对齐方式
    numberOfLines 设置行数
    shadowColor 阴影颜色
    shadowOffSet 阴影大小
    font 字体

    3.添加父视图(视图层级
    addSubView:
    insertSubView:atIndex;
    insertSubView:belowSubView:)
    4.释放所有权

    // 管理视图层级(
    bringSubViewToFront
    sendSubViewToBack
    exchangeSubViewAtIndex: withSubViewAtIndex:
    )
    // 以图片形式管理view背景颜色的方法
    ui3.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"3.jpeg"]];

    // LabelAndTextField
    1.事件
    a.触摸事件
    b.晃动事件
    c.远程操控事件

    2.触摸
    a.实现的方法
    touchesBegan:withEvent:
    touchesMoved:withEvent:
    touchesEnded:withEvent:
    touchesCancelled:withEvent:
    // forZoomingView 传回第一个子视图
    return scrollView.subviews.firstObject;
    return scrollView.subviews.object[0];
    // forZoomingView 传回最后一个子视图
    return scrollView.subviews.lastObject;

    相关文章

      网友评论

      本文标题:iOS小总结

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