Ios 如何使用autolayout在scrollview中创建图像幻灯片?

Ios 如何使用autolayout在scrollview中创建图像幻灯片?,ios,xcode,uiscrollview,autolayout,uicollectionviewcell,Ios,Xcode,Uiscrollview,Autolayout,Uicollectionviewcell,我有一个collectionview,它加载一系列单元格。一些单元格将具有静态图像(工作正常),但一些单元格可能具有多个需要可切换的图像 UICollectionViewCell是基础视图,UIScrollView在其中(固定在其superview的顶部、左侧、底部和右侧) 将UIImageView添加到scrollview中,我希望将其固定在scrollview的顶部和左侧,但其宽度和高度与collection view单元格相同,而不是scrollview的内容大小 然后,我希望将另外两个

我有一个collectionview,它加载一系列单元格。一些单元格将具有静态图像(工作正常),但一些单元格可能具有多个需要可切换的图像

UICollectionViewCell是基础视图,UIScrollView在其中(固定在其superview的顶部、左侧、底部和右侧)

将UIImageView添加到scrollview中,我希望将其固定在scrollview的顶部和左侧,但其宽度和高度与collection view单元格相同,而不是scrollview的内容大小

然后,我希望将另外两个图像固定到集合视图单元格的顶部,以及左侧最近的视图(在本例中,是先前的UIImageView)

故事板的外观如下所示:


(其他图像不在屏幕上显示)。

我决定通过代码添加图像:

有一个父视图和一个滚动视图(连接到IBOutlet)

CollectionViewCell子类包含:

@synthesize lbl, sv, pageControl;

- (void) awakeFromNib {
    sv.userInteractionEnabled = NO;
    sv.delegate = self;
    pageControl.userInteractionEnabled = NO;
    [self.contentView addGestureRecognizer:sv.panGestureRecognizer];
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat pageWidth = sv.frame.size.width;
    float fractionalPage = sv.contentOffset.x / pageWidth;
    NSInteger page = lround(fractionalPage);
    self.pageControl.currentPage = page;
}
然后,在视图控制器的collectionView:cellForItemAtIndexPath方法中,我手动添加如下图像:

        UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[myArray objectAtIndex:indexPath.row]]];
        img.frame = (CGRect) { 0, 0, cell.frame.size.width, cell.frame.size.height};
        [cell.sv addSubview:img];

        img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[myArray objectAtIndex:indexPath.row + 1]]];
        img.frame = (CGRect) { cell.frame.size.width, 0, cell.frame.size.width, cell.frame.size.height };
        [cell.sv addSubview:img];

        img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[myArray objectAtIndex:indexPath.row + 2]]];
        img.frame = (CGRect) { cell.frame.size.width * 2, 0, cell.frame.size.width, cell.frame.size.height };
        [cell.sv addSubview:img];

        [cell.sv setContentSize:CGSizeMake(cell.frame.size.width * 3.0, cell.frame.size.height)];
我本希望采用故事板/界面生成器的方式来实现这一点,但现在,这已经足够了