学习IOS开发的第13天

今天学习了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;
点击“最近搜索”选项。


运行结果截图:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值