2016-07-18 2 views
0

Я создал пользовательский класс UIButton, который имеет круглую рамку. Проблема в том, что я установил свойство title каждой кнопки из раскадровки, которую они не показывают. Я заканчиваю круглыми кнопками без заголовков, показывающих внутри них. Я пытаюсь сделать клавиатуру, подобную той, что была в стандартном экране кода доступа iOS по умолчанию. Цвет основного фонового изображения не белый, и я не использую никаких фоновых изображений для кнопок. Вот мой код для пользовательского класса UIButton.Заголовок не отображается для пользовательского класса UIButton

import Foundation 
import UIKit 

class MyOwnButton: UIButton { 

    override init(frame: CGRect){ 
     super.init(frame: frame) 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
    } 

    override func layoutSubviews() { 
     self.clipsToBounds = true 
     self.titleLabel?.font = UIFont.systemFontOfSize(33.0) 
     self.titleLabel?.textColor = UIColor.whiteColor() 
     self.layer.cornerRadius = self.frame.size.width/2.0 
     self.layer.borderColor = UIColor.whiteColor().CGColor 
     self.layer.borderWidth = 2.0 
    } 
} 

ответ

0

Вы установили свой класс UIButton как свой собственный класс в раскадровку ??

+0

Да. Готово для всех, если бы я этого не делал, я бы не видел круглых кнопок. – basser

+0

@basser Попробуйте установить его в коде как self.titleLabel? .text = "YOUR_TITLE" –

+0

Он не работает. Также он назовет все кнопки одинаковыми. Мне нужно, чтобы каждая кнопка имела разные названия, такие как 0,1,2,3 ..., 9 – basser

0

Попробуйте поместить все вещи в init метод и проверьте.

import Foundation 
import UIKit 

class MyOwnButton: UIButton { 

    override init(frame: CGRect){ 
     super.init(frame: frame) 
     self.clipsToBounds = true 
     self.titleLabel?.font = UIFont.systemFontOfSize(33.0) 
     self.titleLabel?.textColor = UIColor.whiteColor() 
     self.layer.cornerRadius = self.frame.size.width/2.0 
     self.layer.borderColor = UIColor.whiteColor().CGColor 
     self.layer.borderWidth = 2.0 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
    } 


} 
+0

ни одна из кнопок не появляется на экране таким образом: / – basser

0

Вот рабочий код для Swift 4

import UIKit 

class MyOwnButton: UIButton { 
    override init(frame: CGRect){ 
     super.init(frame: frame) 

     commonSetup() 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 

     commonSetup() 
    } 

    private func commonSetup() { 
     self.clipsToBounds = true 
     self.titleLabel?.font = UIFont.systemFont(ofSize: 33.0) 
     self.titleLabel?.textColor = UIColor.white 
     self.layer.cornerRadius = self.frame.size.width/2.0 
     self.layer.borderColor = UIColor.white.cgColor 
     self.layer.borderWidth = 2.0 
    } 
}