iOS-OC之相册,可以放大,不能循环查看-创新互联
#import "ViewController.h"
成都创新互联公司十载专注成都高端网站建设按需制作网站服务,为客户提供专业的成都网站制作,成都网页设计,成都网站设计服务;成都创新互联公司服务内容包含成都网站建设,微信平台小程序开发,软件开发,网络营销推广,网络运营服务及企业形象设计;成都创新互联公司拥有众多专业的高端网站制作开发团队,资深的高端网页设计团队及经验丰富的架构师高端网站策划团队;我们始终坚持从客户的角度出发,为客户量身订造网络营销方案,解决网络营销疑问。#define kuan [UIScreen mainScreen].bounds.size.width
#define gao [UIScreen mainScreen].bounds.size.height
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *huaKuang;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//设置contentSize
_huaKuang.contentSize=CGSizeMake((kuan)*4, gao);
_huaKuang.backgroundColor=[UIColor blackColor];
//设置分页
_huaKuang.pagingEnabled=YES;
//隐藏滚动条
//滚动时是否显示水平滚动条
_huaKuang.showsHorizontalScrollIndicator=NO;
//滚动时是否显示垂直滚动条
_huaKuang.showsVerticalScrollIndicator=NO;
//设置代理,需要遵循代理协议
_huaKuang.delegate=self;
//添加子视图,因为是多个所以写了一个方法来实现添加
[self tianJianZiShiTu];
}
-(void)tianJianZiShiTu
{
//假如有六个图片,就要创建六个UIScrollView和六个UIImageView,并且找到六个图片
for(int i=0;i<3;i++)
{
//创建UIScrollView
//为了区分开不同的照片加一个20黑边,需要设置ScrollViewscroll View中的Left和View中的Width
UIScrollView *uisv=[[UIScrollView alloc] initWithFrame:CGRectMake((kuan+20)*i, 0, kuan, gao)];
//把创建完成的添加到总的那个UIScrollView上
[_huaKuang addSubview:uisv];
//创建UIImageView
UIImageView *uiiv=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, kuan, gao)];
//把创建的UIImageView添加到UIScrollView中
[uisv addSubview:uiiv];
//设置UIImageView的图片
NSString *imageName = [NSString stringWithFormat:@"new_feature_%d",i + 1];
uiiv.image=[UIImage imageNamed:imageName];
//设置tag值
uiiv.tag=1000;
//设置UIScrollView的代理
uisv.delegate=self;
//设置缩放范围
uisv.minimumZoomScale=0.5;
uisv.maximumZoomScale=1.5;
//定义点击事件
UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dianJiShiJian:)];
//设置有效点击数(就是双击)
tap.numberOfTapsRequired=2;
//添加到UIScrollView中
[uisv addGestureRecognizer:tap];
}
}
-(void)dianJiShiJian:(UITapGestureRecognizer *)tap
{
//获取点击事件的view
UIScrollView *uisv1=(UIScrollView *)tap.view;
if(uisv1.zoomScale!=1.0)
{
[uisv1 setZoomScale:1.0 animated:YES];
return ;
}
CGPoint location=[tap locationInView:tap.view];
CGRect rect=CGRectMake(location.x-100, location.y-100, 200, 200);
[uisv1 zoomToRect:rect animated:YES];
}
//指定缩放的视图
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
if (scrollView == _huaKuang) {
return nil;
}
UIImageView *imageView = (UIImageView *)[scrollView viewWithTag:1000];
return imageView;
}
//滚动结束,把所有的缩放视图的缩放比例置为1.0
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
if (scrollView == _huaKuang) {
for (id obj in _huaKuang.subviews) {
if ([obj isKindOfClass:[UIScrollView class]]) {
UIScrollView *scaleSC = (UIScrollView *)obj;
scaleSC.zoomScale = 1.0;
}
}
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:iOS-OC之相册,可以放大,不能循环查看-创新互联
本文URL:http://abwzjs.com/article/ehopc.html