Сброс просмотра контейнера с помощью swift - PullRequest
0 голосов
/ 28 апреля 2019

Я делаю тест. Представление представляет вопрос в контейнере.

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

@IBOutlet weak var containerView: UIView!

func createContainerView() {
    if let questionSet = quizManagerClass.getNextQFromSet() {
        question = questionSet.question
        answers = questionSet.answers

        if containerView != nil && containerView.isDescendant(of: view) {
            containerView.removeFromSuperview()
        }

        // add container
        let localContainerView = UIView()
        localContainerView.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(localContainerView)
        NSLayoutConstraint.activate([
            localContainerView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
            localContainerView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0),
            localContainerView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0),
            localContainerView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0),
            ])

        // add child view controller view to container
        if let controller = storyboard!.instantiateViewController(withIdentifier: "question") as? QuestionViewController {
            controller.question = question
            childQuiz = controller
            addChild(controller)
            controller.view.translatesAutoresizingMaskIntoConstraints = false
            localContainerView.addSubview(controller.view)

            NSLayoutConstraint.activate([
                controller.view.leadingAnchor.constraint(equalTo: localContainerView.leadingAnchor),
                controller.view.trailingAnchor.constraint(equalTo: localContainerView.trailingAnchor),
                controller.view.topAnchor.constraint(equalTo: localContainerView.topAnchor),
                controller.view.bottomAnchor.constraint(equalTo: localContainerView.bottomAnchor)
                ])

            controller.didMove(toParent: self)
        }

        containerView = localContainerView

        loadingViewRemove()
    }
}

Теперь иметь локальный контейнер и поменять его местами так, как будто это неправильно.

Как я могу заменить представление контейнера новым экземпляром вопроса о тесте, используя лучшие практики?

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