2014-08-29 3 views
1

У меня есть кнопка в приложении RubyMotion, созданная в методе класса моего вида контроллера viewDidLoad. Это выглядит следующим образом:Почему моя кнопка не округляется в RubyMotion?

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

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

Вы можете обойти любой UIView, установив, однако, уголRadius на слое.

Я рекомендую округлять свой 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 
+0

Спасибо, это сработало. – GDP2

Смежные вопросы