1、创建
UIImageView *imageView = [[UIImageView alloc] init];
2、大小和位置
imageView.frame = CGRectMake(100, 100, 60, 60);
3、添加图片
imageView.image = [UIImage imageNamed:@"1.jpg"];
4、设置内容模式
/*
UIViewContentModeScaleToFill,拉伸图片填满整个view(默认)
UIViewContentModeScaleAspectFit,等比例拉伸图片,有可能无法填满整个view
UIViewContentModeScaleAspectFill,等比例拉伸图片,填满整个view,有可能会超出view的大小
*/
imageView.contentMode = UIViewContentModeScaleAspectFill;
//裁剪超出view范围的内容
imageView.clipsToBounds = YES;
5、添加触发时间(一般是点击)
//1.添加手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
//2.添加手势对应的事件处理
[tap addTarget:self action:@selector(tapView:)];
//3.将手势应用在view上
[imageView addGestureRecognizer:tap];
//4.开启用户交互模式
imageView.userInteractionEnabled = YES;
6、响应事件:动画效果
- (void)tapView:(UITapGestureRecognizer *)tap
{
//获取被点中的view
UIImageView *view = (UIImageView *)tap.view;
//启动动画
[UIView beginAnimations:nil context:nil];
//设置动画时间
[UIView setAnimationDuration:0.3];
//动画要做的事情
view.frame = CGRectMake(0, 0, 320, 480);
//提交动画
[UIView commitAnimations];
}
7、平移
//CGAffineTransform –变换结构体
//CGAffineTransformRotate –旋转
//CGAffineTransformTranslate –平移
//CGAffineTransformScale –缩放
- (void)translateView
{
UIImageView *view = (UIImageView *)[self.window viewWithTag:1];
//1.计算出要平移的相对位移
CGFloat x = 10;
CGFloat y = 10;
//2.创建一个平移变换
CGAffineTransform old = view.transform;
CGAffineTransform new = CGAffineTransformTranslate(old, x, y);
//3.应用该变换
view.transform = new;
}
8、缩放
- (void)scaleView
{
UIImageView *view = (UIImageView *)[self.window viewWithTag:1];
//1.计算出缩放的比例
CGFloat xScale = 1.0; // > 1.0 放大 < 1.0 缩小 == 1.0不变
CGFloat yScale = 0.8;
//2.创建一个缩放变换
CGAffineTransform old = view.transform;
CGAffineTransform new = CGAffineTransformScale(old, xScale, yScale);
//3.应用变换
view.transform = new;
}
9、旋转
- (void)roateView
{
UIImageView *view = (UIImageView *)[self.window viewWithTag:1];
//旋转
//1.计算出要转换的角度和旋转方向
//如果angle > 0 == 顺时针旋转
//如果angle < 0 == 逆时针旋转
CGFloat angle = -60 * M_PI / 180;
//2.创建一个变换矩阵,仿射变换
//获取原来view的变换矩阵
CGAffineTransform old = view.transform;
//创建一个旋转变换
CGAffineTransform new = CGAffineTransformRotate(old, angle);
//3.将该变换应用到指定view上
view.transform = new;
}