Почему моя кнопка не округляется в 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

Однако моя кнопка выглядит так:

введите здесь описание изображения

Мне трудно понять, почему это происходит с кнопкой, так как я думал, что метод buttonWithType, содержащий аргумент UIButtonTypeRoundedRect, сделал прямоугольную кнопку с закругленными углами. Кто-нибудь может прояснить, в чем здесь проблема?


person GDP2    schedule 29.08.2014    source источник


Ответы (1)


Лучше держаться подальше от UIButtonTypeRoundedRect сейчас, когда он устарел. ИСТОЧНИК: https://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html

Однако вы можете скруглить любой UIView, установив angleRadius на слое.

Я рекомендую округлить ваш слой 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
person Gant Laborde    schedule 29.08.2014