2015-12-03 3 views
0

Я пытаюсь показать UIView при нажатии кнопки, но кажется, что пользовательский интерфейс не может обновиться, потому что кнопка также активирует segue. Когда я удаляю segue, пользовательский интерфейс обновляется, и мой UIView рисуется.Swift: Показать UIView при нажатии кнопки с segue.

Может ли кто-нибудь помочь мне решить, как решить эту проблему?

override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject!) -> Bool { 
    if identifier == "mySegue" { 
     if(myLocation == nil) { 
      /* Rest of code */ 
      return false 
     } 
     else { 
      // These properties need to be set 
      box.hidden = false 
      actInd.startAnimating() 
      return true 
     } 

    } 
    return true 
} 

@IBAction func startComputing(sender: UIButton) { 
    //When I put the properties, nothing happens, 
    //but something like print("Button pressed") does happen. 
} 

Заранее благодарен!

+0

Ваш '@ IBAction' напрямую связан с segue? –

+0

Сегменты переходят от кнопки к новому контроллеру View. '@ IBAction' связан с этой же кнопкой. –

ответ

0

Из того, что я понимаю, вид в иерархии окон вид контроллера, так что я хотел бы сделать это без использования перетекает:

@IBAction func startComputing(sender: UIButton) { 
    UIView.transitionWithView(self.yourView, duration: 0.5, options:UIViewAnimationOptions.TransitionFlipFromLeft, animations: { 
    }, completion: nil) 

} 

Это представит свой вид при нажатии на кнопку. Внутри блока вы можете сделать все остальное, как обновление пользовательского интерфейса и т. Д.

+0

Что вы собираетесь оживить? –

+0

Это не работает. Идея состоит в том, чтобы показать кнопку UIView 'и UIActivityIndicatorView' actInd 'при нажатии кнопки (в текущем контроллере просмотра). Когда вычисления выполнены, segue приводит меня к новому контроллеру View и отправляет вычисленные данные (это уже работает). –

+0

Теперь я понял, я попытаюсь решить его позже на – DCDC