用于在容器视图中的六个 UIViewController 之间导航的 UIButton
UIButton for navigation between six UIViewControllers in a Container View
我对Swift、面向对象编程和界面构建很陌生(我只有一些 MATLAB 编程经验),我已经努力了大约一个星期才能想出一个可行的方法IB中的界面。我已经尝试了很多视图控制器的排列,容器视图有和没有连接到 segue 的 UIButton 以及有和没有导航控制器,我不知道在这一点上要尝试什么(堆栈溢出页面我已经看着最终创造了更多我想做的错误)。
最终,我希望用户能够使用 UIButton 在视图控制器的容器视图内的六个 UIViewController 之间导航(有点像视图之间手动操作的幻灯片放映)。我试过 UITabBarController 和 UINavigationController,但我不想要选项卡或导航栏。
对于没有提供任何代码,我提前表示歉意,但我确实在 Swift 一个月前就学会了,并且我正在学习。不过,我已经在 IB 中上传了我的尝试之一(显示了六个 UIViewController 中的两个,因为由于错误我还没有将它们全部放入)。在附图中,第二个视图位于第一个视图之上,而不仅仅是在容器视图中。 the image is on the URL since I cannot attach it to this post感谢您提供的任何帮助。
我将如何做到这一点非常简单。根据需要创建一个包含多个单元格的集合视图。让我们说5。
每个单元格都有自己的带有嵌入式 ViewController 的 UIView。您为每个视图执行 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
}
这应该足以让您继续前进。
我对Swift、面向对象编程和界面构建很陌生(我只有一些 MATLAB 编程经验),我已经努力了大约一个星期才能想出一个可行的方法IB中的界面。我已经尝试了很多视图控制器的排列,容器视图有和没有连接到 segue 的 UIButton 以及有和没有导航控制器,我不知道在这一点上要尝试什么(堆栈溢出页面我已经看着最终创造了更多我想做的错误)。
最终,我希望用户能够使用 UIButton 在视图控制器的容器视图内的六个 UIViewController 之间导航(有点像视图之间手动操作的幻灯片放映)。我试过 UITabBarController 和 UINavigationController,但我不想要选项卡或导航栏。
对于没有提供任何代码,我提前表示歉意,但我确实在 Swift 一个月前就学会了,并且我正在学习。不过,我已经在 IB 中上传了我的尝试之一(显示了六个 UIViewController 中的两个,因为由于错误我还没有将它们全部放入)。在附图中,第二个视图位于第一个视图之上,而不仅仅是在容器视图中。 the image is on the URL since I cannot attach it to this post感谢您提供的任何帮助。
我将如何做到这一点非常简单。根据需要创建一个包含多个单元格的集合视图。让我们说5。 每个单元格都有自己的带有嵌入式 ViewController 的 UIView。您为每个视图执行 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
}
这应该足以让您继续前进。