zoukankan      html  css  js  c++  java
  • IOS-UI-transform

    / viewWithTag: 传递一个tag值, view 会根据tag值, 查找对应的view
    UILabel *label = [self.view viewWithTag:10];

    // 一旦执行了 addSubView: 时候, 就相当于 self.View 对 被添加的view 有一个强指针
    [self.view addSubview:button];

    以后在定义 UI控件属性的时候使用 weak 修饰符
    @property (nonatomic, weak) UIButton *button;

    //实例化button
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];

    // 为全局属性进行赋值
    self.button = button;

    /**
    property 的本质
    set方法
    get方法
    _属性名称
    */

    一. transform 属性 , 做形变
    平移:
    CGAffineTransformMakeTranslation(10, 0) : 在初始位置的基础上进行平移
    CGAffineTransformTranslate(self.redView.transform, 10, 0) 可以多次生效, 以当前状态为基础

    旋转:
    CGAffineTransformMakeRotation:angle : 是弧度
    M_PI_4 : 45°

    如果传值为负 : 逆时针进行旋转

    CGAffineTransformMakeRotation(M_PI_4)
    CGAffineTransformRotate(self.redView.transform, -M_PI_4)

    缩放:
    CGAffineTransformMakeScale(1.2, 1.2) : x轴上放大1.2倍, y 轴上放大1.2 倍

    如果想要缩小, 就传递小于1的值, 如果传递为负值, 这个view 就疯了

    CGAffineTransformMakeScale(1.2, 1.2)
    CGAffineTransformScale(self.redView.transform, 0.8, 0.5)

    // 当view 的transform 发生变化的时候, 会影响到 frame , 所以, 如果做动画, 就用bounds 和 center 来代替
    animatable. do not use frame if view is transformed since it will not correctly reflect the actual location of the view. use bounds + center instead

  • 相关阅读:
    3.学习Dispatcher
    2学习Application
    学习WPF-1
    Content-Type说明
    AspNet Core定时任务
    Asp.Net Core跨域配置
    学习Emmet
    Asp.Net Core存储Cookie不成功
    服务端编码和解码
    C#7特性
  • 原文地址:https://www.cnblogs.com/DreamLinku/p/5393744.html
Copyright © 2011-2022 走看看