iOS多线UIButon触摸无法正常工作

时间:2017-10-12 09:20:55

标签: ios xamarin.ios

我看到当有多行时按钮没有调整大小,但只有文本来自按钮区域,这导致TouchUpInside事件仅在按钮位于按钮内部时触发,而不是按钮外面的文字。

如何根据文字调整按钮的大小?

如果我将高度约束设置为GreaterThanOrEqual则不起作用。

1 个答案:

答案 0 :(得分:1)

You can set the button's frame to be equal to it's title label's frame, after view did layout. e.g.

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    let originalFrame = btn.frame
    btn.frame = CGRect(x: originalFrame.origin.x,
                       y: originalFrame.origin.y,
                       width: originalFrame.width,
                       height: btn.titleLabel!.frame.height)
}

Or set the button's height constraint to this value:

btn.titleLabel!.frame.height)