2011-04-06 17 views
5

Tek bir görünümde bir UITableViewCell ve UItableView var. UITableView'ın belirli satırında silinme, Başka birViewController'a gider. Ancak UITableViewCell'i tıklatarak otherViewController'a gidemiyorum .Bunu nasıl yapabilirim?? UITableView içinUITableViewCell ve UITableView (bir satır seçtiniz) gezinti otherViewcontroller

Bu kodu kullanıyorum:

 

- 
-(void)pushView1:(id)sender{ 
    if(edController == nil) 
    edController = [[EditableDetailCell alloc] initWithNibName:@"EditableDetailCell" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:edController animated:YES]; 
} 
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    UITableViewCell *tbcel; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    tbcel.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

    tbcel.layer.cornerRadius = 15; 
    tbcel.text = aBook.Name; 
    switch(indexPath.section) 
    { 
     case 0: 
      cell.text = aBook.Address; 
      break; 
     case 1: 
      cell.text = aBook.Phone; 
      break; 
     case 2: 
      cell.text = aBook.Purchase; 
    } 
    return cell; 
} 


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(edController == nil) 
    edController = [[EditableDetailCell alloc] initWithNibName:@"EditableDetailCell" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:edController animated:YES]; 
}![enter image description here][1] 

Ben UITableViewCell için ne yapmalıyım ??

ist is tableviewcell and below it in block is tableview

+1

UITableViewCell tablo görünümünün bir parçasıdır? O zaman neden ayrı ayrı bir eylem yapmak istiyorsun? – visakh7

+0

Tablo Görünümünde bulunmayan bir UiTableViewCell, View Through interface oluşturucu kitaplığına ayrı olarak eklenir. – Ketan

+0

IB'den veya başka bir şeyden farketmez. UITableViewCell bu amaç için değil. Cevabımı aşağıya bakın. – Xiao

cevap

1

Düzenleme:

ne itmek istiyor Başka Görünüm olan bir UITableViewCell

değildir.

Sen

YourCustomView *view = [[YourCustomView alloc] init]; 
[self.navigationController pushViewController:view animated:Yes]; 

söyleyebiliriz ama herhangi bir kod başka bir hücreye geçen göremeyeceğiz.

UITableView'unuzun görünümünü özelleştirmek için bir hücre kullanılır.

Ekleme:

Ben eğer deyimi burada kullanışlı olmadığını düşünüyorum.

Eğer

if(edController == nil){ 
    edController = [[EditableDetailCell alloc] initWithnibName:@"EditableDetailCell" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:edController animated:YES]; 
} 

demek musunuz veya boş görünümü herhangi bir şekilde geçirilecek gidiyor.

+0

Sorgumu düzenledim plz cgeck it tekrar .. – Ketan

+0

Burada gezinmek için tableviewcell (customer 2) için pushview1 yöntemini deniyorum ama bu yöntemle gezinmiyor – Ketan

+0

Bunu bir IBAction yapıp bu yöntemi doğru düğmeyle birleştirdiniz mi? Arayüz Oluşturucu? Resmin yanındaki müşteri2 bir buton mu? – Xiao

1
(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSLog(“Selected Row %d”, indexPath.row); 
    YourNextViewController *objVC = (YourNextViewController *)[storyboard instantiateViewControllerWithIdentifier:@"ViewControllerIdentifier"]; 
    [self presentViewController: objVC animated:YES completion:nil]; 
}