Как добавить одну общую кнопку с плавающим действием ко всем UIViewControllers - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу добавить одну и ту же кнопку с плавающим действием во все мои контроллеры View. У меня есть опция чата (открывается при нажатии на эту кнопку), и она должна быть доступна со всех страниц приложения. Как я могу сделатьТо же самое. Вместо добавления избыточно во все контроллеры View.

Примеры кода были бы очень полезны.

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

давайте добавим один «SuperviewController», который является производным от UIViewController, а затем расширим все другие контроллеры представления из SuperViewController и добавим UIButton программно в SuperViewController, так что вы можете получить доступ к кнопке во всем приложении.

0 голосов
/ 06 декабря 2018

Вы можете взять кнопку в окне

var Floatbtn = UIButton(type: .custom)

func setFloatingButton(){
    Floatbtn.frame = CGRect(x: 250, y: 450, width: 50, height: 50)
    Floatbtn.setTitle("All Defects", for: .normal)
    Floatbtn.backgroundColor = UIColor(red: 40.0/255.0, green: 167.0/255.0, blue: 128.0/255.0, alpha: 1.0)
    Floatbtn.clipsToBounds = true
    Floatbtn.layer.cornerRadius = 25
    Floatbtn.addTarget(self,action: #selector(OnClockButtonEvent), for: UIControlEvent.touchUpInside)
    if let window = UIApplication.shared.keyWindow {
        window.addSubview(Floatbtn)
    }
}

Удалить FloatBtn, когда viewcontroller исчезает

func viewWillDisappear(_ animated: Bool) {
Floatbtn.removeFromSuperview() }
...