KIImagePager 2.1.4

KIImagePager 2.1.4

测试已测试
语言语言 Obj-CObjective C
许可证 未知
发布最后发布2023年10月

Marcus Kida维护。




  • 作者:
  • Marcus Kida

KIImagePager

Twitter: @Kidmar Platform Badge Version Badge Build Status License

弃用通知

请注意,我多年前编写了这个库来用于客户的 projek,现在已被弃用。如果有任何人想提出 PR 来修复问题或改进某些功能:请继续,如果合适,我会进行审查并合并。除此之外,我不会再为其投入更多工作。对此表示歉意。

这个 UIView 子类用于展示从网络加载的图片,并受到 foursquare 的 Image Slideshow 的启发。图片将被异步下载。已删除对 SDWebImage 的依赖。

这是 ImagePager 设置后的样子

Demo GIF Animation

实现 ImagePager 相当简单,只需在 Interface Builder 中进行设置:在 Interface Builder 中设置

可选地自定义 PageControl 的外观

- (void) viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    
    _imagePager.pageControl.currentPageIndicatorTintColor = [UIColor lightGrayColor];
    _imagePager.pageControl.pageIndicatorTintColor = [UIColor blackColor];
    _imagePager.pageControlCenter = CGPointMake(CGRectGetWidth(_imagePager.frame) / 2, CGRectGetHeight(_imagePager.frame) - 42);
}

可以通过设置 imageCounterDisabledimageCounterDisabled 属性分别隐藏 PageControl 和 ImageCounter。还有 hidePageControlForSinglePages 属性。

现在实现其 DataSource 和(可选)Delegate 方法

- (NSArray *) arrayWithImages:(KIImagePager*)pager
{
    return @[
            @"https://raw.github.com/kimar/tapebooth/master/Screenshots/Screen1.png",
            [UIImage imageNamed:@"MySuperImage1"],
            @"https://raw.github.com/kimar/tapebooth/master/Screenshots/Screen2.png",
            [UIImage imageNamed:@"MySuperImage2"],
            @"https://raw.github.com/kimar/tapebooth/master/Screenshots/Screen3.png"
            ];
}

如您所见,现在在 arrayWithImages DataSource 方法中混合 urlStrings 和 UIImages 已经完全没问题了。

- (UIViewContentMode) contentModeForImage:(NSUInteger)image inPager:(KIImagePager*)pager
{
    return UIViewContentModeScaleAspectFill;
}

可选地,您可能定义一个字幕标题,该标题将使用 captionForImageAtIndex DataSource 方法显示在图片上方。

- (NSString *) captionForImageAtIndex:(NSUInteger)index inPager:(KIImagePager*)pager
{
    return @[
             @"First screenshot",
             @"Another screenshot",
             @"Last one! ;-)"
             ][index];
}

如果您想获得一个幻灯片放映,只需为数个单独幻灯片之间的时间间隔设置一个间隔即可

_imagePager.slideshowTimeInterval = 1.5f;

MIT 许可 (MIT)

版权所有 © 2013 Marcus Kida

在此特此授予,免费,任何获得本软件及其相关文档文件(“软件”)副本的人(以下简称“用户”),在不受限制的情况下处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许向用户提供软件的人进行此类行为的权利,但需遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“现状”提供,不提供任何形式的保证,无论明示还是暗示,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他方式,包括但不限于软件本身、软件的使用或与之相关的其他行为。