所以,在这里附带的截图中有3个大按钮"。单击一个按钮时,下方会出现一个小箭头,下面的内容会发生变化。 我想做那样的事。
正如您在每个按钮上看到的,有几个不同大小的文本。 我在考虑使用自定义分段控件。这是这样做的吗? 或者我应该使用自定义按钮并处理"选择"他们每个人的状态。
如何在里面使用不同的文字进行自定义按钮?
答案 0 :(得分:1)
您所描述的内容或多或少是UITabBar
和UITabBarController
的行为。但是,我不认为系统设置为让您自定义这样的外观。
您描述的自定义控件也类似于UISegmentedControl
,但也不完全相同。我不认为UISegmentedControl
是为这样的自定义行为设置的。
我可能会创建一个UIControl
的自定义子类,它有3个状态(或更好,N个状态,每个状态的文本,可选图像等,以及所有可能状态的设置数组,以及当用户更改状态时可以通知的委托。)
然后你应该创建一个父视图控制器,它包含顶部的自定义控件和下面一个托管N个子视图控制器之一的视图。当用户点击控件的其中一个片段时,您将在另一个子视图控制器中进行动画处理。你可以使用这个方法
transitionFromViewController:toViewController:duration:options:animations:completion:
,这很容易使用。
答案 1 :(得分:0)
我建议使用UIPageViewController
,因为用户需要向左滑动并写入,如果单击其中一个按钮,则可以模拟内容的移动[UIViewController
(s)和页面指示器很容易
答案 2 :(得分:0)
我不认为使用分段控件是可行的,除非您想使用图像作为文本,因为UISegmentedControl
不支持属性字符串。我会使用带有属性字符串的3 UIButtons
作为标题,因此您可以为不同的行使用不同的字体大小。底部的三角形可以使用CAShapeLayer
轻松绘制。最好将UIButton
子类化,这样就可以使用不同的字体来构造标题所需的逻辑,并在视图控制器类之外进行绘制。