Swift 3: добавление расширения UIButton к ViewController
Я новичок в iOS/Swift и пытаюсь создать простое приложение без раскадровки. Я создал UIButton
расширение, и я хотел бы добавить простую кнопку в моем представлении (ограничения будут установлены позже). К сожалению кнопка не видна. Буду признателен, если кто-нибудь поможет мне. Спасибо!
--- Buttons.swift ---
extension UIButton {
func createRectangleButton(buttonPositionX: Double, buttonPositionY: Double ,buttonWidth: Double, buttonHeight: Double, buttonTilte: String) {
let button = UIButton(type: .system) as UIButton
button.frame = CGRect(x: buttonPositionX, y: buttonPositionY, width: buttonWidth, height: buttonHeight)
button.setTitle(buttonTilte, for: .normal)
button.backgroundColor = COLOR_WHITE
button.tintColor = COLOR_BLACK
}
}
--- InitialViewController.swift ---
import UIKit
class InitialViewController: BaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Gradient Layer
view.addGradientBackground(colorTop: COLOR_ROYALRED2, colorBottom: COLOR_ROYALRED1)
// Button
let startButton = UIButton()
startButton.createRectangleButton(buttonPositionX: 50, buttonPositionY: 20, buttonWidth: 200, buttonHeight: 50, buttonTilte: "START")
self.view.addSubview(startButton)
}
}
1 ответ
Решение
Попробуйте это как показано ниже:
введите код сюда
extension UIButton {
func createRectangleButton(buttonPositionX: Double, buttonPositionY: Double ,buttonWidth: Double, buttonHeight: Double, buttonTilte: String) {
let button = self // changes made here
button.frame = CGRect(x: buttonPositionX, y: buttonPositionY, width: buttonWidth, height: buttonHeight)
button.setTitle(buttonTilte, for: .normal)
button.backgroundColor = COLOR_WHITE
button.tintColor = COLOR_BLACK
}