经过几个小时的研究,我找不到任何与这个问题有关的东西。
这就是我想要实现的。(用flinto制作的演示)

我的目标
屏幕的下半部分有一个视图,顶部有3个按钮,由形状表示。按钮下面是collectionViews (带条纹),下面是底部的view。
每次单击不同的形状按钮时,我都需要修改视图,以便在集合视图更改时,底部条形视图看起来是静态的。第一个(三角形)形状按钮还具有子按钮(由Aa、Bb和Cc表示),可以进一步导致集合视图的更改。
问题
所以我的问题是我该怎么做?单击每个形状按钮是否显示单独的视图控制器,或者我是否可以在一个视图控制器中实现这一点,每次单击button.If时,底部视图都会被修改,那么如何实现呢?
我只需要你指出正确的方向,我真的需要一些链接到有用的教程。谢谢!
发布于 2017-08-19 17:36:14
你试过使用分段控制吗?
分段控件为您提供了更改UI的选项,该选项基于哪个区段被选中:
@IBAction func indexChanged(_ sender: AnyObject) {
switch segmentedControl.selectedSegmentIndex
{
// based on which shape is selected, you can hide/show/change color of other components here
case 0:
// triangle is selected
case 1:
// hexagon is selected
case 2:
//circle is selected
default:
break
}
}我这样做的方法是只使用一个视图控制器,在堆栈视图中放置一个堆栈视图,并在堆栈视图中插入多个分段控件,然后使用上面的逻辑对它们进行操作。
注意,如果您想自定义分段控件的外观,我将创建自己的UISegmentedControl子类,在其中配置UI。
发布于 2017-08-19 17:30:58
这取决于您想在应用程序中实现什么样的功能。现在让我们简单地假设您只想通过单击每个形状来更改集合视图,您可以使用在单个UIView上使用简单的viewController实现自定义选项卡视图。如果您想通过添加服务调用和其他UI元素(如UITableView等)来使用应用程序,那么我建议您使用默认的UITabbar。
https://stackoverflow.com/questions/45774257
复制相似问题