2015-10-07 4 views
0

на моем MainView У меня есть кнопка. Щелчком по кнопке будет показано popoverView. My popoverView - это подкласс UIViewController. В этом popoverView у меня также есть кнопка. При нажатии на эту кнопку, я хочу, чтобы изменить метку popoverView:Изменить ярлык UIpopoverViewController

@IBAction func awayClicked(sender: AnyObject) { 
awayLabel.text! = "\(Int(arc4random_uniform(7)))" 
} 

Но метка будет изменена краткосрочные, а затем утоплен к предыдущему значению. В чем проблема?

ответ

0

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

0

я думаю, что это то, что вы ищете for.Tell меня, если это помогает

@IBOutlet weak var textView: UITextView! 
      { 
       didSet 
       { 
         textView.text = text 

       } 
      } 

     var text : String = "" 
      { 
        didSet 
        { 
          textView?.text = text 
        } 
      } 

     override var preferredContentSize : CGSize 

      { 
      get 
      { 
       if textView != nil && presentingViewController != nil 
       { 
        return textView.sizeThatFits(presentingViewController!.view.bounds.size) 
       } 
       else 
       { 
        return super.preferredContentSize 
       } 
      } 

      set {super.preferredContentSize = newValue} 

      } 
+0

Да, это работает! Можете ли вы объяснить мне, как это работает? И как я могу изменить это, чтобы изменить заголовок кнопки? – user3143691

+0

вы не меняете название. вы просто добавляете в нее больше. Думайте, что это массив. Там, где этот массив печатается как попвозник :), переопределение, которое я сделал, очень важно для того, чтобы получить небольшой размер popover, основанный на размере текста, поэтому он может пригодиться несколько раз. Что именно вам нужно знать? что вы имеете в виду titleLabel? я думаю, вы имеете в виду внутренний материал, который будет представлен – Korpel

+0

Спасибо за ваше объяснение. С titleLable я имею в виду ярлык кнопки. В popover у меня есть кнопка, и при нажатии кнопки я хочу изменить метку кнопки. Но с этим расширением это не работало для меня. – user3143691