今天学习了UIScrollView的用法,于是利用它做一个简单的相册。
新建一个UIScrollView的子类PhotoImage,这个就是显示照片的。因为继承了UIScrollView,所以可以实现图片放缩。首先进行初始化。
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.imageView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
self.delegate = self;
//设置最大缩放尺寸
self.maximumZoomScale = 2;
//设置最小缩放尺寸
self.minimumZoomScale = 0.5;
[self addSubview:self.imageView];
}
return self;
}
然后要实现图片方法,就得实现UIScrollView类的代理方法。
#pragma mark --delegate
//返回要缩放的图片
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return self.imageView;
}
然后要创建一个UIViewController的子类PhotoViewController。因为要实现照片的滑动浏览,所以得将照片添加到一个UIScrollView上
-(void)loadView{
//创建相册
UIScrollView *photos = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
photos.contentSize = CGSizeMake(320 * 4,480);
//分页显示
photos.pagingEnabled = YES;
//方向锁定
photos.directionalLockEnabled = YES;
int x = 0;
for (int i = 1; i<=4; i++) {
//创建相片
PhotoImage *photoImage = [[PhotoImage alloc] initWithFrame:CGRectMake(0+x, 0, 640, 960)];
photoImage.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];
[photos addSubview:photoImage];
//位移
x+=320;
}
self.view = photos;
}
在这里我们有1、2、3、4这四个图片,然后我们将它们添加到UIScrollView上,并错开位置,这样我们左右滑动时就能浏览它们。要设置pagingEnabled属性为YES,这样就能翻页浏览照片了。
最后我们在应用程序的委托类里创建照片视图控制器。
//照片
PhotoViewController *photoView = [[PhotoViewController alloc] init];
UITabBarItem *tabBarItem4 = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemRecents tag:4];
photoView.tabBarItem = tabBarItem4;
点击“最近搜索”选项。
运行结果截图: