在启用分页和滚动的情况下启用uiscrollview的缩放

埃里亚斯·拉姆(Elias Rahme)

我有一个uiscrollview,我加载了一系列图像,以便可以在图片中滚动,其效果类似于IOS中的图片效果。我正在使用此代码:

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSString *imageFilePath = [path stringByAppendingPathComponent:@"newPics"];
    fileExists   = [[NSFileManager defaultManager] fileExistsAtPath:imageFilePath];
    if(fileExists){

        imgs=[[NSMutableArray  alloc]init];


    [imgs addObject:[UIImage imageWithContentsOfFile:[path stringByAppendingPathComponent:@"newPics/pic1.png"]]];
    [imgs addObject:[UIImage imageWithContentsOfFile:[path stringByAppendingPathComponent:@"newPics/pic2.png"]]];
    [imgs addObject:[UIImage imageWithContentsOfFile:[path stringByAppendingPathComponent:@"newPics/pic3.png"]]];
    [imgs addObject:[UIImage imageWithContentsOfFile:[path stringByAppendingPathComponent:@"newPics/pic4.png"]]];


    CGSize imageSize;
    imageSize.height = 648;
    imageSize.width = 927;
    self.scroll1.frame = CGRectMake(0,0,imageSize.width,imageSize.height);

    self.scroll1.contentSize = CGSizeMake(imageSize.width * imgs.count, imageSize.height );
    self.scroll1.minimumZoomScale=1.0;
    self.scroll1.maximumZoomScale=3.0;
    self.scroll1.pagingEnabled = YES;


    self.scroll1.delegate=self;

    CGFloat xPos = 0.0;

    for (UIImage *image in imgs) {
        imageView = [[UIImageView alloc] initWithImage:image];
        imageView.frame = CGRectMake(xPos, 0.0, imageSize.width, imageSize.height);
        [self.scroll1 addSubview:imageView];
        xPos += imageSize.width;

    }


    }

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    int positionScrollPrim = scrollView.contentOffset.x;

    int positionScroll = positionScrollPrim / 927 ;

    imageView = [[UIImageView alloc] initWithImage:[imgs objectAtIndex:positionScroll]];
    //UIImage *tmep =  [imgs objectAtIndex:1];

    return imageView;
}

我无法达到正确的结果,相反,我遇到一堆怪异的行为,例如错误的缩放和尝试缩放时不再滚动。我想我的问题出在viewForZoomingInScrollView部分,这就是为什么我尝试使用上述代码解决它的原因。但我只是无法使其工作。我想念什么?

流体声波

常用的方法是使用两个滚动视图:外部滚动视图滚动图像,每个图像都包裹在另一个滚动视图中,该滚动视图负责缩放。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

缩放后调整uiscrollview的大小,以启用分页

来自分类Dev

启用分页的UIPageViewController或UIScrollView =是

来自分类Dev

在不断开wifi的情况下禁用和启用Internet

来自分类Dev

启用了水平滚动和分页的UICollectionViewLayout

来自分类Dev

启用了水平滚动和分页的UICollectionViewLayout

来自分类Dev

在启用了垂直分页的UIScrollView中垂直滚动

来自分类Dev

在CentOS上启用secretd的情况下启用ipsec,ah和esp

来自分类Dev

iOS 8-在启用自动布局的情况下更改UIScrollView的框架

来自分类Dev

在启用硒的情况下启动Firefox

来自分类Dev

在启用DisableExplicitGC的情况下安排FullGC

来自分类Dev

.NET 4.5和.NET 4.5.1默认情况下是否启用TLS 1.1和TLS 1.2?

来自分类Dev

GNU`sort`命令无法在启用稳定和(常规)数字排序的情况下进行排序

来自分类Dev

如何在启用溢出检查的情况下编译和运行优化的Rust程序

来自分类Dev

在.feature文件的情况下,在VS 2013中启用注释和取消注释快捷方式

来自分类Dev

在全局启用istio和mTLS的情况下公开虚拟服务

来自分类Dev

在启用Android TalkBack服务的情况下使用SeekBar和OnSeekBarChangeListener

来自分类Dev

在启用自动布局和尺寸类别的情况下更改视图宽度

来自分类Dev

在启用多种架构的情况下更新Aptitude时的警告和错误

来自分类Dev

默认情况下如何启用org-indent-mode?

来自分类Dev

在启用StrictMode的情况下进行测试的Android关闭光标

来自分类Dev

IntelliJ默认情况下启用安全删除

来自分类Dev

默认情况下使用WIX启用MSI日志记录

来自分类Dev

在没有gnome-applet的情况下启用网络

来自分类Dev

仅在启用JavaScript的情况下显示表单

来自分类Dev

默认情况下启用局部变量的程序

来自分类Dev

在启用优化的情况下读取汇编代码

来自分类Dev

默认情况下会启用TRIM吗?

来自分类Dev

如何在启用CUDA的情况下安装Pytorch 1.3.1

来自分类Dev

默认情况下启用Office 365的发送功能吗?

Related 相关文章

  1. 1

    缩放后调整uiscrollview的大小,以启用分页

  2. 2

    启用分页的UIPageViewController或UIScrollView =是

  3. 3

    在不断开wifi的情况下禁用和启用Internet

  4. 4

    启用了水平滚动和分页的UICollectionViewLayout

  5. 5

    启用了水平滚动和分页的UICollectionViewLayout

  6. 6

    在启用了垂直分页的UIScrollView中垂直滚动

  7. 7

    在CentOS上启用secretd的情况下启用ipsec,ah和esp

  8. 8

    iOS 8-在启用自动布局的情况下更改UIScrollView的框架

  9. 9

    在启用硒的情况下启动Firefox

  10. 10

    在启用DisableExplicitGC的情况下安排FullGC

  11. 11

    .NET 4.5和.NET 4.5.1默认情况下是否启用TLS 1.1和TLS 1.2?

  12. 12

    GNU`sort`命令无法在启用稳定和(常规)数字排序的情况下进行排序

  13. 13

    如何在启用溢出检查的情况下编译和运行优化的Rust程序

  14. 14

    在.feature文件的情况下,在VS 2013中启用注释和取消注释快捷方式

  15. 15

    在全局启用istio和mTLS的情况下公开虚拟服务

  16. 16

    在启用Android TalkBack服务的情况下使用SeekBar和OnSeekBarChangeListener

  17. 17

    在启用自动布局和尺寸类别的情况下更改视图宽度

  18. 18

    在启用多种架构的情况下更新Aptitude时的警告和错误

  19. 19

    默认情况下如何启用org-indent-mode?

  20. 20

    在启用StrictMode的情况下进行测试的Android关闭光标

  21. 21

    IntelliJ默认情况下启用安全删除

  22. 22

    默认情况下使用WIX启用MSI日志记录

  23. 23

    在没有gnome-applet的情况下启用网络

  24. 24

    仅在启用JavaScript的情况下显示表单

  25. 25

    默认情况下启用局部变量的程序

  26. 26

    在启用优化的情况下读取汇编代码

  27. 27

    默认情况下会启用TRIM吗?

  28. 28

    如何在启用CUDA的情况下安装Pytorch 1.3.1

  29. 29

    默认情况下启用Office 365的发送功能吗?

热门标签

归档