2011-05-19 14 views
11

Merhaba araç çubuğunda bir sekme çubuğu düğmesini kullanıyorum sonraki görünümü gezinti çubuğu görünmüyor, İştepresentModalViewController, bu düğme tablo görünümü ile bir sonraki görünümü gösterecektir

[self presentModalViewController:self.navigationController 
          animated:YES]; 

benim sorunum Tıkladığımda olmasıdır benim kodudur Bu sekme çubuğu düğmesi, bir sonraki görünümü, tablo görünümünde değil, gezinme çubuğunu gösterecektir. Bu nedenle tablodaki silme işlemini gerçekleştiremiyorum.

Sorun nasıl çözülür?

cevap

38

deneyin.

böyle deneyin:

NextViewController *nextViewController=[[NextViewController alloc]initWithNibName:@"NextViewController" bundle:nil]; 
UINavigationController *navBar=[[UINavigationController alloc]initWithRootViewController:nextViewController]; 
[self.navigationController presentModalViewController:navBar animated:YES]; 
[navBar release]; 
[nextViewController release]; 

düzenleme seçeneği için bu stackoverflow question bakın.

Sadece kolaylığı Tüm iyi

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(editTable)] autorelease]; 

-(void)editTable{ 
[tableView setEditing: YES animated: YES]; 
} 

ile gezinme çubuğunda bir düğme ekleyebilirsiniz.

+0

self.navigationItem.rightBarButtonItem = self.editButtonItem; bu EditButton öğesini gösteriyor, Şimdi tablo düzenleme yönteminin nasıl çağırılacağını öğrenin – iProgrammer

+0

Tamam Düzenleme ve tamamlama düğmesiyle iyi çalışıyor. Kayıt silme de siliyor ama geçici olarak siliniyor.Ne zaman kayıtları hala var sonra tekrar Uygulamamı başlatmak – iProgrammer

+0

- (void) tableView: (UITableView *) atableView commitEditingStyle: (UITableViewCellEditingStyle) editingStyle forRowAtIndexPath: (NSIndexPath *) indexPath { (editingStyle == UITableViewCellEditingStyleDelete) { [imleri eğer removeObjectAtIndex: indexPath.row]; [tableView deleteRowsAtIndexPaths: [NSArray dizisiWithObjects: indexPath, nil] withRowAnimation: UITableViewRowAnimationFade]; [[NSUserDefaults standardUserDefaults] setObject: Yer işareti: @ "Yer imleri"]; } } – iProgrammer

0

Eğer çubuk düğmesi ile yeni görünüme alt görünüm olarak gezinti çubuğu ekleyin bu

[self.navigationController pushViewController:nextController animated:YES]; 
+0

ilave edilmeyecektir eklendi? – iProgrammer

+0

bunu deneyin [[self navigationController] presentModalViewController: navigationController animated: YES]; ya da evet lütfen navigasyon itmeli –

+0

ile devam edin Eğer mevcutModalViewcontroller kullandıysanız Uitableview için Edit butonunu nasıl görüntüleyeceksiniz? – iProgrammer

0

gibi NavigationController kullanımını kullanıyorsanız. Bir sonraki sınıf yollara UINavigationBar bulmak dont

itmeden önce sizin sonraki görünümüne bir UINavigationController eklemek yüzden, bir navigasyon denetleyicisi yok, bu

-(IBAction) editClick:(id)sender 
{ 
    [tableView setEditing:![tableView isEditing] animated:YES]; 
} 
+0

Ve tablonun Düzenleme kodu ile bu düğmeye nasıl bağlanır? – iProgrammer

3

Bu kod Classa VC düğme tıklama olayı denir:

ClassBVC* bVc = [[ClassBVC alloc] initWithNibName:@"ClassBVC" bundle:nil]; 
    UINavigationController* tempNavCon = [[UINavigationController alloc] initWithRootViewController:bVc]; 
    [self presentModalViewController:tempNavCon animated:YES]; 
    [tempNavCon release]; 
    [bVc release]; 
    bVc = nil 

;

ve doldurdun mu görünümünde sınıf BVC içinde

bir UIbarbutton madde örneğin olun:
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonClicked:)]; 
    [barButton setTitle:@"Back"]; 
    [self.navigationItem setLeftBarButtonItem:barButton]; 
    [barButton release]; 

Ve buttonClickedMethod içinde

basitçe modeli denetleyicisi görevden olarak: Kullandığınız çünkü

-(void)backButtonClicked:(id)sender 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 
1

Yeni görünüm denetleyicisini getirmek için modal.

modally/sunulan görünüm denetleyicisi bu şekilde biliyorum ama presentModalViewController kullanamıyorum gezinti kontrol yığını