zoukankan      html  css  js  c++  java
  • iOS边练边学--transform的简单介绍并且用transform实现键盘处理

    一、transform:形变属性,能完成功能:平移,缩放,旋转

    <平移>

            // 根据给的移动距离平移
            self.tempView.transform = CGAffineTransformMakeTranslation(100, 100);

    <缩放>

            // 根据给的缩放比例缩放,给负值,旋转缩放
            self.tempView.transform = CGAffineTransformMakeScale(0.6, 0.6);

    <旋转>

            // 根据给的角度旋转,负数是逆时针旋转  M_PI_4(45°) M_PI_2(90°)  M_PI(180°)
            self.tempView.transform = CGAffineTransformMakeRotation(M_PI);

    二、transform的叠加

            // 累加transform,先创建一个初始的transform
            CGAffineTransform translation = CGAffineTransformMakeTranslation(100, 100);
            // 叠加上一个transform,得到一个新的transform
            CGAffineTransform scaleTranslation = CGAffineTransformScale(translation, -0.6, -0.6);
            // 最终将混合的transform赋值给view
            self.tempView.transform = scaleTranslation;

    三、清空transform--清除transform,不管是混合的还是单个的

            self.tempView.transform = CGAffineTransformIdentity;

    四、transform键盘处理,第一次用的是修改约束,这次用transform,直接将self.view向上平移键盘的高度

    - (void)keyboardChange:(NSNotification *)note
    {
        // 取出时间
        CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
        // 取出键盘最终的frame
        CGRect rect = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
        // 平移的距离 = 屏幕的高度 - 键盘坐标的Y值
        CGFloat ty = [UIScreen mainScreen].bounds.size.height - rect.origin.y;
        [UIView animateWithDuration:duration animations:^{
            self.view.transform = CGAffineTransformMakeTranslation(0, - ty);
        }];
    }
  • 相关阅读:
    %zsy %lqs 随感
    polynomial&generating function学习笔记
    PKUWC2020自闭记
    考前最后的感叹:CSP2019 Bless All! & AFO
    AFO
    NOI2019 Fe
    [十二省联考2019]骗分过样例 luoguP5285 loj#3050
    python异常处理,草稿
    python操作excel
    python网络编程(requests)
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5302296.html
Copyright © 2011-2022 走看看