OGeek|极客世界-中国程序员成长平台

标题: ios - ScrollView 分页,图像略微向左或向右显示(开始/结束) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:22
标题: ios - ScrollView 分页,图像略微向左或向右显示(开始/结束)

我尝试创建一个水平页面 slider ,就像您在大多数问答游戏中看到的那样。

基本上每个页面都有和图像/按钮在屏幕右侧略微显示, 表示还有更多页面。

在最后一页上,用户应该不会看到右侧的图像,而是左侧的图像,因为它是最后一页。

所以在图像之间显示左右。

有没有办法通过检查器或仅以编程方式执行此操作?

我尝试了这两种方法,结果出现了一些奇怪的副作用,它会弹回图像的中心位置。

见下图:

https://plus.google.com/u/0/101813614111502094997/posts



Best Answer-推荐答案


使用此代码

在.h文件中使用

@property (weak, nonatomic) IBOutlet UIScrollView *imageScrollView;
@property (weak, nonatomic) IBOutlet UIPageControl *pageControl;

在 .m 类中

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

  -(void)viewDidAppearBOOL)animated{
         [super viewDidAppear:animated];

        NSArray *viewsToRemove = [self.imageScrollView subviews];
        for (UIView *subviewElement in viewsToRemove) {
            [subviewElement removeFromSuperview];
        }

        UIImageView *img1= [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, IS_IPHONE_5?370:284)];
        img1.image=[UIImage imageNamed"yourImage1"];
        [img1.image stretchableImageWithLeftCapWidth:320 topCapHeight:IS_IPHONE_5?370:284 ];

        UIImageView *img2= [[UIImageView alloc] initWithFrame:CGRectMake(320, 0, 320, IS_IPHONE_5?370:284)];
        img2.image=[UIImage imageNamed"yourImage2"];
        [img2.image stretchableImageWithLeftCapWidth:320 topCapHeight:IS_IPHONE_5?370:284 ];

        UIImageView *img3= [[UIImageView alloc] initWithFrame:CGRectMake(640, 0, 320, IS_IPHONE_5?370:284)];
        img3.image=[UIImage imageNamed"yourImage3"];
        [img3.image stretchableImageWithLeftCapWidth:320 topCapHeight:IS_IPHONE_5?370:284 ];

        [self.imageScrollView addSubview:img1];
        [self.imageScrollView addSubview:img2];
        [self.imageScrollView addSubview:img3];

    }

    - (void)viewDidLayoutSubviews
    {
        self.imageScrollView.contentSize= CGSizeMake((imageScrollView.frame.size.width*3) , imageScrollView.frame.size.height);

    }

关于ios - ScrollView 分页,图像略微向左或向右显示(开始/结束),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080289/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4