Как добавить еще одну кнопку к кнопке? - PullRequest
0 голосов
/ 05 февраля 2020

Все работает нормально, но когда я пытаюсь вызвать метод createSecondContainer () из configureAddButton(), он не работает. То есть нажатие самой кнопки не работает.

override func viewDidLoad() {
    super.viewDidLoad()

    configureMainContainer()
}

func configureMainContainer(){
    view.addSubview(mainContainer)

    let frame = CGRect(x: view.bounds.midX - 60, y: view.bounds.midY, width: 120, height: 40)

    mainContainer.frame = frame
    mainContainer.addTarget(self, action: #selector(showAlert), for: .touchUpInside)
    configureAddButton()
}

func configureAddButton(){
    mainContainer.addSubview(addButton)
    let frame = CGRect(x: mainContainer.bounds.maxX + 5, y: mainContainer.bounds.midY / 2, width: 20, height: 20)
    addButton.frame = frame

    addButton.addTarget(self, action: #selector(createSecondContainer), for: .touchUpInside)
}

@objc func createSecondContainer(){
    print("something to complete")
}

1 Ответ

0 голосов
/ 05 февраля 2020

Вы можете использовать этот код в порядке

import UIKit

class ViewController: UIViewController {

    let mainContainer = UIButton()

    override func viewDidLoad() {
        super.viewDidLoad()


    }

    override func viewDidAppear(_ animated: Bool) {
        configureMainContainer()

    }

    func configureMainContainer(){

        let frame = CGRect(x: view.bounds.midX - 60, y: view.bounds.midY, width: 120, height: 40)
        mainContainer.frame = frame
        mainContainer.addTarget(self, action: #selector(showAlert), for: .touchUpInside)
        mainContainer.backgroundColor = UIColor.red
        self.view.addSubview(mainContainer)

        configureAddButton()
    }

    @objc func showAlert() {
        // Your Alert Code here

    }

    func configureAddButton(){

        let addButton = UIButton()
        let frame = CGRect(x: mainContainer.bounds.midX, y: mainContainer.bounds.midY / 2, width: 20, height: 20)
        addButton.frame = frame
        addButton.addTarget(self, action: #selector(createSecondContainer), for: .touchUpInside)
        addButton.backgroundColor = UIColor.blue
        mainContainer.addSubview(addButton)
    }

    @objc func createSecondContainer(){
        print("something to complete")
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...