2010-04-22 23 views
19

UITableView numaralı verilere sahip bir uygulamada çalışıyorum. Bir matkap uygulaması gibidir. Kullanıcı bir satır tıklayacak ve UITableView'da daha fazla kayıt gösteren bir sonraki sayfaya gidecektir. Ama benim durumumda sorun, kaç seviye kullanıcının ne kadar matkap yapabileceğini bilmem. Seviye sayısı sabit değildir. Şimdi şimdi viewcontrollers programlı olarak oluşturmayı ve eklemeyi düşünüyorum. Mümkün mü?? eğer evet nasıl? şimdiden teşekkürler.Program aracılığıyla bir UIViewController nasıl oluştururum?

cevap

20
UIViewController *controller = [[UIViewController alloc] init]; 
controller.view = whateverViewYouHave; 

Sizin kodladığınız kendi denetleyiciniz var mı? Bu durumda, kullandığınız şey buysa, IB'de ayarlandığı gibi görünüm özelliğini ayarlamanıza gerek yoktur. Kontrol cihazınız olduğunda navigasyon kontrol ünitesine ya da onu genel olarak görüntüleyebilirsiniz.

+0

Şu anda bir viewcontrollerdayım ve kullanıcıyı – pankaj

+0

no'lu tablo görünümünde yeni viewcontroller ve ekrana yönlendirmek istiyorum ve evet, bir başka şey de program aracılığıyla oluşturulmuş bu yeni viewcontroller – pankaj

+2

'dan sonraki seviyeye kadar bir sonraki aşamaya daha da gidebilir Muhtemelen ilk görünüm denetleyicinizin bir UINavigationController olmasını istersiniz. – willcodejavaforfood

3

UIViewController s her zaman programsal olarak oluşturulur. sadece bu durumda .: görünüm kumandanın her seviye için aynı sınıf için

//CoolViewController:UITableViewController 
//CoolViewController.m 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (!self.isAtTopLevel) { 
     CoolViewController *cvc = [[CoolViewController alloc] initWithRecord:[self.records objectAtIndex:indexPath.row]]; 
     [self.navigationController pushViewController:cvc animated:YES]; 
     [cvc release]; 
    } else { 
     //do something else 
    } 
} 

örn ihtiyaç olduğu anlaşılıyor thingies özyinelemeli NSArray (Dizilerin yani bir dizi) bir çeşit olacaktır.

+0

Cevabınız için teşekkür ederiz, bu yeni kontrolörde kayıtlara UITableview göstermem gerekiyor. Bunu nasıl yapacağım? – pankaj

+0

ve evet, bir kullanıcı daha programlanabilir şekilde oluşturulmuş bu yeni viewcontroller – pankaj

+0

'dan bir sonraki seviyeye kadar daha fazla detaylandırma yapabilir (güncellenmiş örnek) Bu örnekte, her bir tablo görünümü denetleyicisinin, her biri bir dizi alt kayıtları (tasarımı doğru anlamıyorsam beni düzelt). Böylece, 'Kayıt' adı verilen bir tablonuz olabilir. Bu, bir tablonun (tablo hücresinde görüntülenen) ve bir 'NSArray' 'Kaydın '- her tablo görünümü denetleyicisi alt kayıtların dizisini görüntüleyecektir. Son yoruma göre – shosti

İlgili konular