我是Swift,面向对象编程和界面构建的新手(我只有一些MATLAB编程经验),而且我一直在努力争取在IB中提供一个工作界面一周。我已经尝试了很多视图控制器的容器视图的排列,有或没有连接到segue的UIButton,有和没有导航控制器,我不知道在这一点上尝试什么(Stack Overflow pages I've看着最后用我想做的东西创造了更多的错误。
最终,我希望用户能够使用UIButton在视图控制器中的容器视图内部的六个UIViewController之间导航(有点像视图之间的手动幻灯片放映)。我试过UITabBarController和UINavigationController,但我不想要标签或导航栏。
我提前为没有提供任何代码道歉,但我在一个月前就学会了Swift,并且随着我的进展而学习。我已经上传了我在IB中的一次尝试(显示了六个UIViewControllers中的两个,因为我还没有把它们全部放入,因为这些错误)。在附加图像中,第二个视图放在第一个视图的顶部,而不是仅放在容器视图中。 the image is on the URL since I cannot attach it to this post感谢您提供的任何帮助。
答案 0 :(得分:1)
我将如何做到这一点非常简单。根据需要创建一个包含大量单元格的集合视图。让我们说5。 每个单元格都有自己的UIView和嵌入的ViewController。你为每个视图做了5次。这应该是困难的部分。
接下来的事情是创建按钮我猜你有2个按钮一个回来<和一个前锋>。然后按下按钮上的简单逻辑,在集合视图中,您只需使用以下内容递增到下一页:
[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically animated:NO];
这应该可以解决问题。
有关如何更改单元格大小的示例
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath) -> CGSize {
// your code here
}
对于每个单元格的不同视图,您可以创建一个cellId1,cellId2,cellId3等。并为每个单元格ID注册一个新单元格。
collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
这将是如何为视图设置不同的单元格
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath)
return cell
}
这应该足以让你前进。