2017-06-02 62 views
1

我想调整按钮为正方形,这里是我的代码:如何在swift 3中自定义按钮的大小?

let button = UIButton() 
    button.backgroundColor = UIColor.red 

    button.translatesAutoresizingMaskIntoConstraints = false 

    //method one 
    //button.widthAnchor.constraint(equalToConstant:44.0).isActive = true 
    //button.heightAnchor.constraint(equalToConstant: 44.0).isActive = true 
    //method two 
    button.frame.size = CGSize(width: 20.0, height: 20.0) 

    button.addTarget(self, action: #selector(ratingButtonTapped(button:)), for: .touchUpInside) 
    addArrangedSubview(button) 

我已经试过这两个方法,但是他们都不工作了罚款与显示方法之一,并没有一些错误,在显示错误方法二。当我运行代码时,按钮在容器中实现。这里有什么问题?

+0

也许u有一些约束上,使按钮大小它是如何? – Whencesoever

+0

你得到的错误是什么?如果我使用stroyboard,也可以尝试设置约束 –

+0

,这意味着我直接从库中拖动一个按钮到stroyboard,我可以方便地设置约束。但现在我正在通过编码创建一个按钮。你看。问题是我现在无法轻松更改按钮大小。 – chucklai

回答

-1

为什么不创建按钮并用给定的大小初始化它?

let btn = UIButton(frame: CGRect(x: 0, y: 0, width: 20, height: 20)) 

,然后改变,而不是addArrangedSubview x和y相应

+0

我已经尝试了您的建议,但它仍然无效。我认为代码是好的。必须有一些更严重的错误导致问题。 – chucklai

+0

你得到的结果是什么,请张贴屏幕截图 –

+0

也添加背景色,以便我们可以看到按钮 –

3

使用addSubview()()。

我写在这里与我贴在意见相同的解决方案操场上,万一有人遇到同样的问题:

雨燕3.0:

//: Playground - noun: a place where people can play 

import UIKit 
import PlaygroundSupport 

let view = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 400)) 

view.backgroundColor = UIColor.blue 

let button = UIButton() 
button.backgroundColor = UIColor.red 
button.frame.size = CGSize(width: 40.0, height: 20.0) 
button.translatesAutoresizingMaskIntoConstraints = false 

view.addSubview(button) // This does the trick 

PlaygroundPage.current.liveView = view 
相关问题