为什么我的按钮没有在RubyMotion中舍入?

时间:2014-08-29 14:43:18

标签: ios ruby rubymotion

我在RubyMotion应用程序中有一个按钮,在我的视图控制器类的viewDidLoad方法中创建。它看起来像这样:

def viewDidLoad
    @button = UIButton.buttonWithType(UIButtonTypeRoundedRect)

    @button.setTitle("Tap!", forState: UIControlStateNormal)
    @button.frame = [ [85, 250], [150, 50] ]
    @button.backgroundColor = UIColor.darkGrayColor
    @button.addTarget(self, action: :actionForTheButton, forControlEvents: UIControlEventTouchUpInside)

    self.view.addSubview(@button)
end

但是,我的按钮看起来像这样:

enter image description here

我无法理解为什么按钮会发生这种情况,因为我认为包含buttonWithType参数的UIButtonTypeRoundedRect方法创建了一个带圆角的矩形按钮。任何人都可以澄清问题在这里吗?

1 个答案:

答案 0 :(得分:1)

现在最好远离UIButtonTypeRoundedRect,因为它已被弃用。 消息来源:https://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html

您可以通过在图层上设置cornerRadius来舍入任何UIView。

我建议将UIView图层舍入为:

def viewDidLoad
    @button = UIButton.buttonWithType(UIButtonTypeSystem)

    @button.setTitle("Tap!", forState: UIControlStateNormal)
    @button.frame = [ [85, 250], [150, 50] ]
    @button.layer.cornerRadius = 10 # SET THE ROUNDING RADIUS HERE
    @button.backgroundColor = UIColor.darkGrayColor
    @button.addTarget(self, action: :actionForTheButton, forControlEvents: UIControlEventTouchUpInside)

    self.view.addSubview(@button)
end