Objective-C ,ios,iphone开发基础:快速实现一个简单的图片查看器
jopen
11年前
新建一个single view 工程:
关闭ARC , 在.xib视图文件上拖放一个UIImageView 两个UIButton ,一个UISlider ,布局如图。
并为他们连线,
UIImageView 和 UISlider 分别定义插座变量,两个 UIButton 分别 连接两个Action next和previous ,在为 UISlider 连接一个Action 事件。
再在.h 文件中声明两个实例变量。 NSInteger index ; NSMutableArray* arrayPic ; 一个用来记录当前图片的index,一个用来做图片的容器,
用UISlider 来控制图片的透明度 (alpha 属性)。在slider 的界面构建起动作中添加代码,让图片的透明度等于 slider的value。
- (IBAction)sliderChangeValued:(id)sender { self.imageView.alpha = slider.value; }在两个UIButton 的界面构建起动作中添加代码,循环遍历arrayPic中的图片:
- (IBAction)next:(id)sender { if(index == [arrayPic count]){ index = 0; } self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]]; index++; }- (IBAction)previous:(id)sender { if(index == -1){ index = ([arrayPic count] -1); } self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]]; index--; }
至此:简单的图片查看器已经完成,
整个控制器类中的代码:
// // wsqViewController.h// picLook// // Created by administrator on 13-9-5.// Copyright (c) 2013年 __MyCompanyName__. All rights reserved.// #import <UIKit/UIKit.h>@interface wsqViewController : UIViewController { UIImageView *imageView; UISlider *slider; NSInteger index ; NSMutableArray* arrayPic ; } @property (retain, nonatomic) IBOutlet UIImageView *imageView; @property (retain, nonatomic) IBOutlet UISlider *slider;- (IBAction)sliderChangeValued:(id)sender;- (IBAction)next:(id)sender;- (IBAction)previous:(id)sender;@end
// // wsqViewController.m // picLook // // Created by administrator on 13-9-5. // Copyright (c) 2013年 __MyCompanyName__. All rights reserved. // #import "wsqViewController.h" @implementation wsqViewController @synthesize imageView; @synthesize slider; - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; //获取mainbudle下所有 jpg格式的图片, arrayPic = [[NSMutableArray alloc ] initWithArray: [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil]]; index = 0; NSLog(@"%@",arrayPic); } - (void)viewDidUnload { [self setImageView:nil]; [self setSlider:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } - (void)dealloc { [arrayPic release]; [imageView release]; [slider release]; [super dealloc]; } - (IBAction)sliderChangeValued:(id)sender { self.imageView.alpha = slider.value; } - (IBAction)next:(id)sender { if(index == [arrayPic count]){ index = 0; } self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]]; index++; } - (IBAction)previous:(id)sender { if(index == -1){ index = ([arrayPic count] -1); } self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]]; index--; } @end