2013-04-19 2 views
0

Надеюсь, это имеет смысл и, надеюсь, вы можете увидеть на картинке кнопки в правом верхнем углу каждой сцены, чтобы перейти к другим.
До сих пор я могу перейти от «Синей волны» к «Saw Wave» с помощью модального перехода, вернуться к «Sine Wave», но мне нужно, чтобы я смог вернуться к «Saw Wave» снова без вызова нового экземпляра.
Возможно ли это, и если да, то как?
http://i50.tinypic.com/17bx1l.png
Перемещение между сценами раскадровки - Segues and Unwind

ответ

0

Конечно, вы можете это сделать, но не с Segue, так как перетекает во все дни создавать новые контроллеры просмотра (отличных UNWIND перетекает). Таким образом, вы должны представить «Saw Wave» в коде, как это (от «Sine Wave»):

-(IBAction)goToSawWave:(UIButton *) sender { 
    if (! self.sawWave) self.sawWave = [self.storyboard instantiateViewControllerWithIdentifier:@"SawWave"]; 
    [self presentViewController:sawWave animated:YES completion:nil]; 
} 

sawWave это свойство напечатал классу SawWave, вы должны изменить это к тому, что реальное название класса , и убедитесь, что вы установили идентификатор этого контроллера в IB. Поскольку вы создаете сильную ссылку на свой экземпляр SawWave и проверяете его существование перед его представлением, вы перейдете к тому же экземпляру.

+0

Большое спасибо @rdelmar Это почти идеальный вариант, за исключением того, что мне нужно будет иметь такие вещи, как ползунки и переключатели (видимые в связанном изображении из OP), чтобы находиться в том же положении, когда я перемещаюсь от каждой сцены. Мне удалось частично добиться этого с помощью segue, но не полностью. Еще раз спасибо. – amk1

+0

Другими словами, существует ли способ предотвратить их сброс при переходе между сценами? – amk1

+0

@ amk1, да, если вы сделаете это так, как я показал, все должно быть одинаковым в «Saw Wave», когда вы приходите и уходите, а расслабление от «Saw Wave» должно вернуться к «Sine Wave», поскольку оно когда вы его оставили. Вы не видите этого? – rdelmar

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