iOS - UIImageView常見使用方法和多圖動畫播放,iosuiimageview
UIImageView顯示圖片
// 建立對象 UIImageView *imageView = [[UIImageView alloc] init]; // frame imageView.frame = self.view.bounds; // 設定背景 imageView.backgroundColor = [UIColor greenColor]; // 設定圖片 imageView.image = [UIImage imageNamed:@"1"]; /* // 帶有Scale圖片可能被展開 UIViewContentModeScaleToFill, // Aspect比例,縮放是帶比例的 UIViewContentModeScaleAspectFit, UIViewContentModeScaleAspectFill, // 不會被展開 UIViewContentModeRedraw, UIViewContentModeCenter, UIViewContentModeTop, UIViewContentModeBottom, UIViewContentModeLeft, UIViewContentModeRight, UIViewContentModeTopLeft, UIViewContentModeTopRight, UIViewContentModeBottomLeft, UIViewContentModeBottomRight,*/ // 設定圖片內容模式 imageView.contentMode = UIViewContentModeScaleAspectFit; // 是否裁多餘的 imageView.clipsToBounds = YES; // 建立毛玻璃 UIToolbar *toolbar = [[UIToolbar alloc] init]; // 設定毛玻璃尺寸 toolbar.frame = imageView.bounds; // 設定毛玻璃的樣式 toolbar.barStyle = UIBarStyleBlack; toolbar.alpha = 0.9; [imageView addSubview:toolbar]; // 載入到控制器view中 [self.view addSubview:imageView];
frame第一種和第二種
// 建立對象// UIImageView *imageView = [[UIImageView alloc] init];// imageView.image = [UIImage imageNamed:@"1"]; // frame設定方式 // 第一種// imageView.frame = CGRectMake(0, 0, 500, 833); // 第二種 UIImage *image = [UIImage imageNamed:@"1"]; imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height); imageView.image = image;
第三種
// 第三種 UIImage *image = [UIImage imageNamed:@"1"]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, image.size.width, image.size.height)]; imageView.image = image;
第四種
// 第四種UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1"]];
// 修改位置 imageView.center = CGPointMake(10, 10);// 載入到控制器view中 [self.view addSubview:imageView];
取圖片
// 載入圖片 // 方式一// self.imageView.image = [UIImage imageNamed:@"1"]; // 方式二 NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"]; self.imageView.image = [UIImage imageWithContentsOfFile:path]; // 放入Assets.xcassets中的路徑,取不到,不能使用imageWithContentsOfFile: // 只能使用imageNamed: // 放入項目中的圖片兩中都可以取到
多圖片組成動畫1.載入資源
如果建立真實檔案夾,在調用檔案夾中的東西的時候需要將路徑全部寫出,如果是虛擬資料夾則不用
2.抽取到的載入圖片的方法
- (NSArray *)loadAllImageWithimagePrefix:(NSString *)imagePrefix count:(int)count{ NSMutableArray *images = [NSMutableArray array]; for (int i = 0; i < count; i++) { // 擷取圖片名稱 NSString *imageName = [NSString stringWithFormat:@"%@_%d", imagePrefix, i + 1]; // 以名稱建立UIImage UIImage *image = [UIImage imageNamed:imageName]; // 裝入數組 [images addObject:image]; } // 返回圖片數組 return images;}
- (void)viewDidLoad { [super viewDidLoad]; self.useImage = [self loadAllImageWithimagePrefix:@"Prefix" count:250];}
抽取對動畫播放的方法
- (void)playAnimationWithImagesArray:(NSArray *)imagesArray repeatCount:(int)count duration:(float)duration{ // 設定播放動畫圖片 self.imageView.animationImages = imagesArray; // 設定播放次數 0就是不限次 self.imageView.animationRepeatCount = count; // 播放時間長度 self.imageView.animationDuration = duration; // 播放 [self.imageView startAnimating];}