简单放置一张图片,实现放大缩小旋转效果1 image和imageView的区别2 创建控件显示到view上的标准步骤3 CGRectOffset函数的含义4 小飞机-监听四个按钮的点击事件(代码)5

1 image和imageView的区别

  • image是图片(照片).
  • imageView是放图片的控件(相框).

2 创建控件显示到view上的标准步骤

  • 创建对象.
  • 设置内容.
  • 设置大小.
  • addsubview

3 CGRectOffset函数的含义

待补充

4 小飞机-监听四个按钮的点击事件(代码)

-(void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

三个参数的含义:

  • 某个继承UIControl的控件在controlEvents事件被触发后target对象执行action方法.

5 小飞机-实现移动功能

  • 当复用代码的时候,如果有涉及到不一样的东西(offset,图片名字,tag)都需要对这个复用代码的方法添加参数.
  • 如果在A方法中需要使用B方法中创建的某个对象或变量,如果拿不到,那么就应该定义一个全局的属性,把B方法中创建完成的对象赋值给全局属性.

6 通过center修改位置

  • center只能用来修改位置
  • center是CGPoint类型,是当前控件中心点到父控件“父视图”的左上角

7 通过frame修改大小

  • 通过frame修改大小时左上角原点不动

8 通过bounds修改大小

  • bounds 和 frame 都是CGRect的类型
  • bounds 默认的原点是 0,0
  • 通过bounds修改大小时中心点不动 小结: center只能修改位置,bounds只能修改大小,frame既能修改位置也能修改大小*

9 transform的用法

9. 1修改位置(平移)

CGAffineTransformMakeTranslation(**X偏移量**, **Y偏移量**);
CGAffineTransformTranslate(**在某个transform的基础上-一般为自身**, **X偏移量**, **Y偏移量**);

9. 2通过transform修改大小(缩放)

CGAffineTransformMakeScale(**宽缩放的倍数**, **高缩放的倍数**);
CGAffineTransformScale(**在某个transform的基础上-一般为自身**, **宽缩放的倍数**, **高缩放的倍数**);

9. 3通过transform进行旋转(旋转)

CGAffineTransformMakeRotation(**旋转的弧度**);
CGAffineTransformRotate(**在某个transform的基础上-一般为自身**, **旋转的弧度**);

9. 4恢复transform形变

  • 在发生形变的时候苹果推荐使用transform.
  • 形变的时候frame发生变化,bounds不发生变化.
self.imageView.transform = CGAffineTransformIdentity;

10添加和删除视图以及所有子视图

  • 如何删除某个子视图?
    • removeFromSuperview.
  • 如何获取当前视图的所有子视图?
    • subviews.
  • isKindOfClass 和 isMemberOfClass 的区别?
    • kind 是这个类型或这个类型的子类.
    • member 只判断这个类型.

11 关于frame和bounds

  • frame 是一个以父视图为坐标系的位置
  • bounds 是一个以自身为坐标系的位置
  • 如果改变了bounds的x,y 会影响子控件的显示位置

12 头尾式动画(了解)

//- 准备开始动画
[UIView beginAnimations:nil context:nil];
//- 设置时间
[UIView setAnimationDuration:5];
提交动画(真正开始做动画)
[UIView commitAnimations];

13 块动画

+(void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^__nullable)(BOOL finished))completion;
+(void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations;
+(void)animateWithDuration:(NSTimeInterval)**duration** delay:(NSTimeInterval)**delay** usingSpringWithDamping:(CGFloat)**dampingRatio** initialSpringVelocity:(CGFloat)**velocity** options:(UIViewAnimationOptions)**options** animations:(void (^)(void))**animations** completion:(void (^__nullable)(BOOL finished))**completion**;
  • duration : 动画时间
  • delay : 延迟时间
  • dampingRatio : 阻尼系数(弹性) 越小越弹
  • velocity : 速率
  • options : 选项
  • animations : 做动画的代码块
  • completion : 动画完成的代码块 "回调"

14 代码如何调用size to fit

[UIView sizeToFit]

15 控制位置添加view

//- 在siblingSubview下面添加view
-(void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;

//- 在siblingSubview上面添加view

-(void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LeoXu的博客

Flex笔记_处理用户输入 原

        Label、RichText、RichEditableText、TextInput、TextArea、RichTextEditor(MX)

682
来自专栏小狼的世界

Firefox与IE的一些Javascript编程小技巧

说明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elemen...

1032
来自专栏施炯的IoT开发专栏

《101 Windows Phone 7 Apps》读书笔记-Silly Eye

课程内容 Ø Animation Ø Event Triggers Ø Named Resources Ø Settings Page Ø Color...

2017
来自专栏全沾开发(huā)

总结CSS3新特性(Animation篇)

总结CSS3新特性(Animation篇) 动画(Animation),是CSS3的亮点.//之一 通过animation属性指定@k...

3226
来自专栏Linux驱动

24.QTableView函数使用,右击菜单实现

对于QStandardItem的setData()成员 函数的第二个参数role 是模型数据角色 

954
来自专栏爆栈之路

【开源】微信小程序、小游戏以及 Web 通用 Canvas 渲染引擎 - Cax

用于分组, group 也可以嵌套 group,父容器的属性会叠加在子属性上, 比如:

73216
来自专栏杨逸轩 ' sBlog

元旦快乐 – 使用snow.js增加下雪效果

3184
来自专栏salesforce零基础学习

salesforce lightning零基础学习(五) 事件阶段(component events phase)

上一篇介绍了lightning component events的简单介绍。此篇针对上一篇进行深入,主要讲的内容为component event中的阶段(Pha...

840
来自专栏hightopo

基于HTML5和WebGL的碰撞测试

1202
来自专栏葡萄城控件技术团队

Spread for Windows Forms快速入门(4)---常用的单元格类型(上)

单元格类型定义了在单元格中呈现的信息的类型,以及这种信息如何显示,用户如何与其进行交互。单元格类型可以被赋给单个的单元格,整行或者整列。 用户可以使用两种不同的...

2226

扫码关注云+社区