Bazılarınız için bu soru saçma gelebilir ancak takım arkadaşlarımla bir ios uygulamasının tasarımı hakkında görüşüyorum ve bunun hakkında fikrinize ihtiyacım var. Biz Düğmesi içeren ViewControllerA varİki görüş arasındaki itme döngüsünden kaçmamalı mıyız?
- şöyle ben katılmıyorum
eski tasarım "B Git" dir. düğmesi B. gitmek için PUSH segue sahiptir
- Biz 2 ViewController a arasındaki seyahat etmek zorunda A.
- gitmek için bir PUSH segue sahiptir hayranlarıyla renkli "A Git" düğmesi içeren ViewControllerB var çok. Gördüğünüz gibi
, ViewController A ve B arasında bir segue döngü var ve biz o olur asla izin gerektiğini düşünüyorum. Navigasyon çubuğunda "Geri" tuşu ile B'den A'ya gitmeyi tercih ederim.
PUSH tasarımında ne kadar ciddi bir döngü var? Bazı durumlarda kabul edilebilir mi? Ben elma tarafından tavsiye iyi tasarım nerede bulabiliriz
DÜZENLEME (orada herhangi olur?): Nfarshchi tarafından Denemek "pop itme önce" çözüm ama öyle değil work.This yapmak yaptım nasıl: 1) VC A'dan VC B'ye segue oluşturamıyorum ve VC B'den VC A'ya aynı anda selamlıyorum. Hikaye panosunun olmasını engellediği anlaşılıyor. 2) VC A'dan VC B'ye ve "Button'dan" gotoA "olan bir segue olan" Go to B "düğmesinden tanımlayıcısı" gotoB "olan bir segue yaratıyorum. "VC A'ya VC B'de
Yani Storyboard olur şuna benzer:
VC X --- itin ---> VC A < ---- itin ----> VC B VC AI ise) 3 (ı ViewController X ihtiyaç nedeni sonradan açıklanmıştır) bu var:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Prepage for segue go to B") ;
if ([[segue identifier] isEqualToString:@"gotoB"]) {
[self.navigationController popViewControllerAnimated:NO];
}
}
Ben VC X gerektiğinden yapamam Orada bir ViewController varsa, bir ViewController yığınından pop.
Şimdi doğru görünüyor, ancak "B'ye git" seçeneğini tıkladığımda, bunun yerine VC X'e gitti. Açıkçası, yukarıdaki popViewControllerAnimated: VC A'yı açtı ve hepsi bu, VC B'nin artık işten atılmadığıydı. Sonuç, VC B'nin beklendiği gibi Stack'a itilmemesiydi.
Böylece ben nfarshchi çözümü uygulamak olanaksız olduğunu düşünüyorum
Teşekkürler. Ama ben "itme öncesi pop" hakkında çözümün işe yaramayacağını düşünüyorum. – grandagile
Hiçbir erkek, sen itmeden önce pop demek istemedim, 'UINavigationController' kullanarak söylüyorum 'UIViewController' sadece bir kez itmek ve aynı zamanda basit bir geri düğmesi var. ve tekrar pop yapmaya gerek yok. 'UINavigationController' bunu sizin için yapacak. – nfarshchi
"ViewControllerA" ve "ViewControllerB" öğeleriniz olduğunu düşünün. 'a' bir Düğme ve [self.navigationController pushViewController: viewControllerB animasyonlu olabilir: EVET]; – nfarshchi