ios - 如何更新 iOS PhotoScroller 示例代码

标签 ios uiview uiscrollview

我在我的应用程序中使用来自 PhotoScroller 的更改示例代码。我有一个图像缩略图的表格 View ,我可以将填充该表格的图像数组传递给 PhotoViewController。目前,PhotoViewController 从我数组中的第一张图像开始,我可以来回滚动。这作为 Apple 的示例代码可以正常工作。

现在我想要做的是点击一个带有缩略图的表格单元格,然后从我数组中该索引处的图像开始滚动图像。例如:如果我在表格中有 5 张图片,然后点击图片 #3,我希望 PhotoViewController 中的第一张图片成为第三张图片,并且能够向左或向右滚动到 #2 或 #4。希望这是有道理的。

我在 PhotoViewController 中看到每个图像都添加了 subview 。我有什么办法可以告诉它“跳转到查看#3”而不破坏其他 View 或它们的整体外观顺序?欢迎任何想法或建议。代码可以在 iOS 开发者网站上找到,以获取 PhotoScroller 示例代码。

好吧,我在胡说八道...在此先感谢您的帮助!

最佳答案

我这样做的方法是在照片 View Controller 的初始化程序中设置一个名为 startingPage 的变量。然后在创建页面时,首先为 ScrollView 设置正确的偏移量。

所以在 PhotoScroller 的情况下,它会在 loadView 中。像这样:

- (void)loadView 
{
    // Step 1: make the outer paging scroll view
    CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
    pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
    pagingScrollView.pagingEnabled = YES;
    pagingScrollView.backgroundColor = [UIColor blackColor];
    pagingScrollView.showsVerticalScrollIndicator = NO;
    pagingScrollView.showsHorizontalScrollIndicator = NO;
    pagingScrollView.contentSize = [self contentSizeForPagingScrollView];
    pagingScrollView.delegate = self;
    self.view = pagingScrollView;

    // Set the content offset of the scrollview
    CGRect bounds = pagingScrollView.bounds;
    CGPoint contentOffset = CGPointMake(bounds.size.width * startingPage, 0.0f);
    [pagingScrollView setContentOffset:contentOffset animated:NO];

    // Step 2: prepare to tile content
    recycledPages = [[NSMutableSet alloc] init];
    visiblePages  = [[NSMutableSet alloc] init];
    [self tilePages];
}

关于ios - 如何更新 iOS PhotoScroller 示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8581659/

相关文章:

ios - 当我快速打开新 View 时出错

iOS swift : ScrollView strict dragging

ios - 带有 ImageView 的 UIScrollView 不垂直滚动

ios - 缩放 ScrollView 内的旋转图像以适合(填充)覆盖矩形的框架

iphone - 有没有办法以编程方式将我的 iPhone 恢复为出厂设置?

ios - 未显示 Xcode 目标图标

iphone - 使用 UIVIews 的 CoverFlow

swift - 添加带有约束的 subview 不起作用

ios - [CFString 发布] : message sent to deallocated instance

ios - Swift 4 insertTimeRange 添加视频轨道但播放时除了第一个不显示