Iphone UIScrollview具有多个图像并可通过捏缩进行缩放
我正在尝试在iPhone上复制照片应用程序。也就是说,一个包含多个图像的滚动视图,每个图像都可以通过挤压来放大/缩小 Apple ScrollViewSuite示例代码仅处理scrollview中的1个图像。我发现,对于多个图像,滚动图像变得不可预测。此外,视图在挤压缩放后变得不居中 我在堆栈溢出上发现了以下内容:Iphone UIScrollview具有多个图像并可通过捏缩进行缩放,iphone,uiscrollview,uiimageview,zooming,Iphone,Uiscrollview,Uiimageview,Zooming,我正在尝试在iPhone上复制照片应用程序。也就是说,一个包含多个图像的滚动视图,每个图像都可以通过挤压来放大/缩小 Apple ScrollViewSuite示例代码仅处理scrollview中的1个图像。我发现,对于多个图像,滚动图像变得不可预测。此外,视图在挤压缩放后变得不居中 我在堆栈溢出上发现了以下内容: 但是,我应该在scrollview委托函数中写些什么呢?这就是我发现的工作原理。支持分页和缩放多个图像。享受吧 #define VIEW_FOR_ZOOM_TAG (1) @imp
但是,我应该在scrollview委托函数中写些什么呢?这就是我发现的工作原理。支持分页和缩放多个图像。享受吧
#define VIEW_FOR_ZOOM_TAG (1)
@implementation SVViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
mainScrollView.pagingEnabled = YES;
mainScrollView.showsHorizontalScrollIndicator = NO;
mainScrollView.showsVerticalScrollIndicator = NO;
CGRect innerScrollFrame = mainScrollView.bounds;
for (NSInteger i = 0; i < 3; i++) {
UIImageView *imageForZooming = [[UIImageView alloc] initWithImage:[UIImage imageNamed:
[NSString stringWithFormat:@"page%d", i + 1]]];
imageForZooming.tag = VIEW_FOR_ZOOM_TAG;
UIScrollView *pageScrollView = [[UIScrollView alloc] initWithFrame:innerScrollFrame];
pageScrollView.minimumZoomScale = 1.0f;
pageScrollView.maximumZoomScale = 2.0f;
pageScrollView.zoomScale = 1.0f;
pageScrollView.contentSize = imageForZooming.bounds.size;
pageScrollView.delegate = self;
pageScrollView.showsHorizontalScrollIndicator = NO;
pageScrollView.showsVerticalScrollIndicator = NO;
[pageScrollView addSubview:imageForZooming];
[mainScrollView addSubview:pageScrollView];
if (i < 2) {
innerScrollFrame.origin.x += innerScrollFrame.size.width;
}
}
mainScrollView.contentSize = CGSizeMake(innerScrollFrame.origin.x +
innerScrollFrame.size.width, mainScrollView.bounds.size.height);
[self.view addSubview:mainScrollView];
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return [scrollView viewWithTag:VIEW_FOR_ZOOM_TAG];
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotate {
return NO;
}
@end
#定义缩放标签的视图(1)
@SVViewController的实现
-(无效)viewDidLoad{
[超级视图下载];
UIScrollView*mainScrollView=[[UIScrollView alloc]initWithFrame:self.view.bounds];
mainScrollView.PaginEnabled=是;
mainScrollView.showsHorizontalScrollIndicator=否;
mainScrollView.showsVerticalScrollIndicator=否;
CGRect innerScrollFrame=mainScrollView.bounds;
对于(NSInteger i=0;i<3;i++){
UIImageView*imageForZooming=[[UIImageView alloc]initWithImage:[UIImageImageName:
[NSString stringWithFormat:@“第%d页,i+1]];
imageForZooming.tag=查看缩放标签;
UIScrollView*pageScrollView=[[UIScrollView alloc]initWithFrame:innerScrollFrame];
pageScrollView.minimumZoomScale=1.0f;
pageScrollView.maximumZoomScale=2.0f;
pageScrollView.zoomScale=1.0f;
pageScrollView.contentSize=imageForZooming.bounds.size;
pageScrollView.delegate=self;
pageScrollView.showsHorizontalScrollIndicator=否;
pageScrollView.showsVerticalScrollIndicator=否;
[页面滚动视图添加子视图:用于缩放的图像];
[主滚动视图添加子视图:页面滚动视图];
如果(i<2){
innerScrollFrame.origin.x+=innerScrollFrame.size.width;
}
}
mainScrollView.contentSize=CGSizeMake(innerScrollFrame.origin.x+
innerScrollFrame.size.width,mainScrollView.bounds.size.height);
[self.view addSubview:mainScrollView];
}
-(UIView*)视图用于缩放CrollView:(UICrollView*)滚动视图{
返回[scrollView viewWithTag:VIEW_FOR_ZOOM_TAG];
}
-(整数)支持的接口方向{
返回UIInterfaceOrientationMaskPortrait;
}
-(BOOL)应该自动旋转{
返回否;
}
@结束
苹果的应用程序怎么样?