UIImageView,uiimageview點擊事件
//UIImageView 用來顯示圖片的控制項
UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(10,_label.frame.size.height+10+10, self.window.frame.size.width , 200)];
//設定背景顏色
imgView.backgroundColor = [UIColor redColor];
//設定圖片
imgView.image = [UIImage imageNamed:@"m"];
//設定圓角
imgView.layer.masksToBounds = YES;
imgView.layer.cornerRadius = 10;
//UIImageView的填充模式
/*圖片展示形式最常用的三個
1.UIViewContentModeScaleToFill //根據UIImageView大小自動展開填滿整個UIImageView,圖片會變形,但還是會完整顯示
2.UIViewContentModeScaleAspectFit //圖片部分適應,會展開圖片,但是UIImageView填不滿,當圖片的某個邊緣達到架構的寬(或高)頂部時將停止展開,等比展開,圖片完整顯示
3.UIViewContentModeScaleAspectFill //可能只顯示圖片的某個部分,即使圖片超出你的架構,配合裁剪方法(clipsToBounds)使用,圖片超出的部分就會被裁減,圖片沒有完整顯示;倘若不配合裁剪方法(clipsToBounds)使用,就可以看出它的等比拉升效果
*/
imgView.contentMode = UIViewContentModeScaleAspectFill;
//截取超出範圍的圖片
imgView.clipsToBounds = YES;
//設定imgView是否與使用者互動
imgView.userInteractionEnabled = YES
//對於ImageView中的animation動畫,在這裡我就挑幾種經常得用到的來講
//第一種(通過這種方法可以做出湯姆貓遊戲,需要素材的留言,我發給你們)
//(1)圖片數組(animationImages)
//要做動畫的話 animationImages裡面一定要裝的是UIImage 不能是圖片的名稱字串
imgView.animationImages = Array;
//(2)一輪動畫時間的期間(animationDuration)
imgView.animationDuration = 0.5;
//(3)動畫重複次數(animationRepeatCount)
//0的意思是這個動畫一直進行不會停下來 其他數字表示重複動畫的次數
imgView.animationRepeatCount = 0;
//在以上(1)~(3)都設定好的前提下,開始動畫
[imgView startAnimating];
//***************分割線*******************
//第二種(通過超類UIView來調用方法)
//動畫1(開始動畫)
[UIView beginAnimations:nil context:NULL];
//動畫期間
[UIView setAnimationDuration:2.0];
//[注意]動畫必須放在開始( beginAnimations)和提交(commitAnimations)中間
//通過手勢來擷取view
UIImageView *img = (UIImageView *)tap.view;
/*不允許單獨直接修改結構體frame中的任何一個元素
//img.frame.size.width =100;
若要修改結構體frame中的任何一個元素,可用以下方法
/*
CGRect rect = img.frame;
rect.origin.y = 0.0;
img.frame = rect;
*/
CGRect rect = img.frame;
//通過建立一個rect結構體來作為中介改變其中的值
rect.origin.y = 0.0;
//imgView移動的最終位置
img.frame = rect;
//提交動畫
[UIView commitAnimations];
//***************分割線*******************
//第三種(通過超類UIView的類方法animateWithDuration: animations:執行動畫)
//利用仿色變換旋轉UI
[UIView animateWithDuration:1.25 animations:^{
UIImageView *img = (UIImageView *)tap.view;
/*
旋轉
參數1:在哪個基礎上開始旋轉
參數2:旋轉的角度
*/
img.transform = CGAffineTransformRotate(img.transform, 90*(M_PI/180));
}];
//***************分割線****************
//第四種(通過超類UIView的類方法
[UIView animateWithDuration:(NSTimeInterval) animations:^(void)animations completion:^(BOOL finished)completion執行動畫)
[UIView animateWithDuration:2.0 animations:^{
//block中為執行動畫的UI
UIImageView *img = (UIImageView *)tap.view;
//移動動畫
img.frame = CGRectMake(0, 0, 50, 120);
} completion:^(BOOL finished){
//動畫執行完後的回調
UIImageView *img = (UIImageView *)tap.view;
img.frame = CGRectMake(0,0,170,250);
//動畫執行完後就把圖片移動中間
img.center = self.window.center;
}];
以上動畫方法只是個人常用的,大家可以去Xcode的內建檔案中去看,還有很多,有需要的我再補充