您的位置:首页 > 产品设计 > UI/UE

UIImageView

2015-03-05 11:03 204 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: