2015-07-20 1 views
1

Мое представление содержит кнопку, которая приносит пользовательский вид, который содержит ContainerView, и на нем есть ярлык. Когда я привожу пользовательский вид на передний план, я получаю текст ярлыка пустым. Так, пожалуйста, где моя проблема?Пользовательский вид метки не изменится

View Controller Код:

@IBAction func PushAlert(sender: UIButton) { 

    let alert = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("alertViewController") as! AlertViewController 

    var alertText = AlertTextViewController() 

    alertText.lblText = "DONE" 

    alert.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext 
    alert.modalTransitionStyle = UIModalTransitionStyle.CrossDissolve 
    self.presentViewController(alert, animated: true, completion: nil) 

} 

class AlertTextViewController: UIViewController { 

    @IBOutlet weak var lblAlertText: UILabel! 
    var lblText = "" 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     lblAlertText.text = lblText 
    } 
} 

Я создал ссылку на исходный код, который будет гораздо легче понять source code

+0

В источнике, который вы указали здесь, где именно должен быть показан ярлык, который пуст? –

+0

Предполагается, что он отображается под текстом «Alert View», как в раскадровке @BrandonShega –

+1

«AlertTextViewController», который вы устанавливаете для текста метки, не совпадает с тем, который содержится в вашем «AlertViewController», это новый экземпляр, который вы создаете, и который уничтожается в конце метода. Вам нужно добавить метод «AlertViewController», в который вы можете передать текст, и чтобы этот метод нашел встроенный «AlertTextViewController» и установил на нем текст ярлыка. – dan

ответ

0

Что относительно var lblText: String? в вашем AlertTextViewController.

Возможно, это связано с вашей декларацией (по какой-то причине я не смогу объяснить)?

Или ждать, я смущен

var alertText = AlertTextViewController()

, как вы представляете создание и представление ViewController alert. Как работает alertText и alert?

Edit:

class AlertViewController: UIViewController { 

@IBOutlet weak var container: UIView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    var alertText: AlertTextViewController = self.childViewControllers[0] as! AlertTextViewController 
    alertText.lblAlertText.text = "Test" 
    // Do any additional setup after loading the view. 
} 

ли это в вашем AlertViewController, и она работает. Я не знаю, какова ваша конечная цель, и это может быть не самое элегантное решение. Я создал выход, containerView для вашего класса.

+0

Оба находятся в одном представлении, поэтому не следует вызывать AlertTextViewController перед представлением AlertViewController? –

+0

Извините, я смутил несколько имен переменных, я посмотрю исходный код. – Mattias

+0

Я думаю, что проблема заключается в AlertTextViewController вызывается перед AlertViewController, чтобы он не отображал текст. Я не знал, как его решить? –

0

Я думаю, что вы можете иметь порядок событий. Попробуйте установить lblAlertText.text в viewWillAppear вместо viewDidLoad.

+0

К сожалению, это не сработало в 'viewDidLoad' –

 Смежные вопросы

  • Нет связанных вопросов^_^