Pregunta

He estado tratando de impulsar un nuevo punto de vista cuando se toca una célula, pero no pasa absolutamente nada. Supuse estilo agrupados empujó el mismo que el normal. Aquí está mi código:

-(void)viewDidLoad {
[super viewDidLoad];
contactArray = [[NSArray alloc] initWithObjects:@"iPhone",@"iPod",@"MacBook",@"MacBook     Pro",nil];
shareArray = [[NSArray alloc] initWithObjects:@"Flex",@"AIR",@"PhotoShop",@"Flash",nil];

}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}


// Customize the number of rows in the table view.
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if(section == 0)
    return [contactArray count];
else
    return [shareArray count];
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
if(section == 0){
    return @"Contact";
}else{
    return @"Share";
}
}

-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{
if(section == 0){
    return @"Footer for Apple Products";
}else{
    return @"Footer for Adobe Softwares";
}
}


// Customize the appearance of table view cells.
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath     *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}

// Set up the cell...
if(indexPath.section == 0){
    cell.text = [contactArray objectAtIndex:indexPath.row];
}else{
    cell.text = [shareArray objectAtIndex:indexPath.row];
}
return cell;

}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//NextViewController *nextController = [[NextViewController alloc] initWithNibName:@"NextView" bundle:nil];
//[self.navigationController pushViewController:nextController animated:YES];
if([contactArray objectAtIndex:indexPath.row] == @"iPhone"){
    LandscapeHydrogen *abo = [[LandscapeHydrogen alloc] initWithNibName:@"LandscapeHydrogen" bundle:nil];
[self.navigationController pushViewController:abo animated:NO];
[abo release];
}
}

Cualquier ayuda es apreciada.

¿Fue útil?

Solución 3

Resuelto con

else if (indexPath.section == 1 & indexPath.row == 0){
        FaceBook *nextController = [[FaceBook alloc] initWithNibName:@"FaceBook" bundle:nil];
        [self.navigationController pushViewController:nextController animated:YES];

Otros consejos

Se puede poner un punto de interrupción en el didSelectRowAtIndexPath para ver si la sentencia if es verdadera.

Trate de cambiar

if([contactArray objectAtIndex:indexPath.row] == @"iPhone"){

a

if([[contactArray objectAtIndex:indexPath.row] isEqualToString:@"iPhone"]){
  YourNextViewController  *   nextViewController = [[YourNextViewController alloc] initWithNibName: @"YourNextViewController" bundle: nil];  

switch (indexPath.section) {
    case 0:
        nextViewController.title = [_contactArray objectAtIndex: [indexPath row]];
        break;

    case 1:
        nextViewController.title = [_shareArray objectAtIndex: [indexPath row]];
        break;

    default:
        break;
}

[[self navigationController] pushViewController:nextViewController animated:YES];
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top