适用于iOS的Swift中的自定义分段控件

时间:2017-03-19 18:15:22

标签: ios swift uisegmentedcontrol

我试图实现分段控件,但在布局中看起来很简单。我想自定义它:

  • 例如丢失边框
  • 有自定义指标

这样做的方法是什么?我知道在Android中如何自定义TabLayout但在这里我很遗憾地说实话。

enter image description here

2 个答案:

答案 0 :(得分:8)

我参加派对已经很晚了,但这就是我要做的事情:

将背景颜色设置为.clear

.login-back-up {
  background: rgb(0, 161, 255)
}

.login-back-down {
  background: rgb(249, 187, 0)
}

.button {
  background: rgb(96, 217, 55);
  color: white;
  padding: 5px;
  margin: 0 30px;
}

div {
  min-height: 4em;
}

p {
  margin: 0 0 2em;
}

.buttons-row {
  line-height: 0;/* here is maybe the magic you looked for*/
  text-align: center;
}

将背景色调颜色设置为.clear

<div class="login-back-up">
  <p>test</p>
</div>
<div class="login-back-down">
  <p class="buttons-row hr-login-button-row">
    <a href="#" class="button">button1</a>
    <a href="#" class="button">button2</a>
  </p>
  <p>next content below</p>
</div>

我注意到所选片段的标题是粗体。设置两种状态的文本属性(.normal&amp; .selected)

    segmentedControlInstance.backgroundColor = UIColor(red:0.13, green:0.16, blue:0.29, alpha:1.0)

最后,设置两个背景图像。注意,我不知道要为barMetrics参数设置什么:

    segmentedControlInstance.tintColor = .clear

我会让你玩barMetrics参数。

答案 1 :(得分:0)

如果我需要自定义的内容不在此列表中,UISegmentedControl Docs,我会构建自己的。

在你的图片中,我会使用两个按钮,一个指示器视图,以及一些响应用户交互的逻辑。