xcode 8 UIStackView。如何制作圆形按钮?

时间:2016-10-11 16:43:44

标签: ios swift xcode

我正在使用UIStackView,我正在努力使按钮成为圆形。我的前四个按钮具有用户定义的运行时属性:

layer.cornerRadius Number 10  
layer.masksToBounds Boolean true

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您不反对使用图片,则可以创建一个您需要的尺寸的圆形图像。然后,假设它是UIButton,您可以将其添加为backgroundImage。

<强>故事板 Xcode Screenshot

Swift 3

let circle = UIImage(named: "circle")
button.setBackgroundImage(circle, for: UIControlState.normal)

答案 1 :(得分:0)

我不知道为什么尝试使用用户定义的运行时属性不起作用;这是一种合法的技术,我已经习惯了。

那就是说,这是另一种方法:使用UIButton子类。定义子类以在其初始化程序中设置这些值(此处,@RunWith(SpringJUnit4ClassRunner.class) public class TestA { private Object state; @Test public void a() { stateObjectA(); doSomethingWithState(); assertion(); } @Test public void b() { stateObjectB(); doSomethingWithState(); assertion(); } private void stateObjectA() { // do some mocking and setup state } private void stateObjectB() { // do some mocking and setup state } private void doSomethingWithState() { // use the state object and feed into the testing method } } 是您需要实现的)。然后,在故事板中,使用Identity检查器创建此子类的这些按钮实例。

这实际上是一种更好的方法,因为它在一个位置封装了按钮共有的 all 。必须单独为四个按钮定义相同的属性总是一个糟糕的气味!