2016-11-19 59 views
0

我想設置一個可點擊的「textonly」按鈕,但現在我有問題修復我的按鈕的高度。在此之前,我試圖將它作爲標籤,但後來觸摸操作變得複雜,所以我決定只是做一個沒有框架的按鈕等。 所以現在我需要設置buttonheight到文本里面,任何想法? 繼承人的代碼片段:用代碼調整UIButton高度?

//... 
    button.setTitle("Log in", for: .normal) 
    button.setTitleColor(.white, for: .normal) 
    button.layer.borderWidth = 0 
    button.frame = CGRect 
    button.addTarget(self, action: #selector(LoginFunction), for: .touchUpInside) 
    //... 

回答

0

您應該仍然有按鈕的框架,以顯示在用戶界面。它定義你的按鈕的位置和大小(包括高度)。下面是與位置(0,0),大小(100,100)按鈕的例子:

button.frame = CGRect(x: 0, y: 0, width: 100, height: 100) 

也許你所說的「框架」的意思是「邊界」。通過將borderWidth設置爲0,您可以實現無邊框按鈕,您已在代碼中完成該操作。

button.layer.borderWidth = 0 

如果你想爲你能做的文本設置大小:

button.titleLabel?.font = UIFont.systemFont(ofSize: 17) 
1

如果你想在你UIButton你應該設置yourButton.titleLabel?.numberOfLines = 0yourButton.titleLabel?.lineBreakMode = .byWordWrapping多行文本。您將獲得多行按鈕,您可以根據需要配置哪個高度。 你也計算你應該使用的文字框架

let context = NSStringDrawingContext() 
let frame = yourText.boundingRectWithSize(
    CGSize(width: yourButtonWidth, height: 9999), 
    options: NSStringDrawingOptions.UsesLineFragmentOrigin, 
    attributes: dictionaryOfYourTextAttributes, context: context)