如何将角半径和图标添加到按钮?

时间:2017-07-05 09:11:46

标签: ios swift uibutton

如何制作类似于下面的视图

enter image description here

所以从技术上讲,两者都是一个按钮,目前我正在使用2个按钮,我使用堆栈视图将它们组合在一起

enter image description here

问题是

  1. 如何将角半径添加到堆栈视图
  2. 如何添加图标及其间的界限

2 个答案:

答案 0 :(得分:0)

1。堆栈视图外观

您无法将cornerRadius直接应用于UIStackView。你应该将它嵌入到其他可以按你想要的配置的UIView中。

  

UIStackView是一个非渲染的子类   的UIView   ;也就是说,它不提供自己的任何用户界面。相反,它只管理其排列视图的位置和大小。结果,一些属性(如   背景颜色   )对堆栈视图没有影响。同样,你不能覆盖   layerClass   ,   绘制( :)   ,或画画(:in:)。

https://developer.apple.com/documentation/uikit/uistackview

2。图标和一行

屏幕截图上的布局可以通过以下几种方式重现:

  • TableView:使用cell.imageView和单元格分隔符;

  • 手动构建布局(如果您只有几个选项可供选择,则更有意义)

在第二种情况下,您将拥有一个包含两个视图的Vertical StackView。每个视图都有 imageView titleLabel ,第一个视图将具有预定义的高度约束,而第二个视图高度将具有相等约束第一。要创建分隔符,请在第一个视图约束内部创建1pt高度视图到底部。

此时我仍然不明白为什么要使用StackView。如果希望选项列表在计数中可变,请使用TableView。如果在某些情况下应该隐藏某些选项,StackView和TableView都适合,但如果它是静态菜单,我更喜欢用UIView替换StackView。

答案 1 :(得分:0)

如果要在UIButton中添加角半径,边框线,图像,可以使用我们的自定义控件。 您尚未添加可以从故事板设置的单行代码。 只需访问此链接。 如果您有任何疑问,请告诉我。

https://github.com/ZetrixWeb-Swift-iOS/ZWButton