представление таблицы использовать настроенный файл ячейки и как использовать segue - PullRequest
3 голосов
/ 10 марта 2012

Я пользователь Master-Detail создал проект.На MasterViewController ячейке таблицы я использую MasterCell.h и MasterCell.m для создания своей настраиваемой ячейки, поэтому мой код:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    MasterCell *cell = (MasterCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    cell = [[MasterCell alloc] initWithFrame:CGRectZero];
    NSString  *value = [[myContacts objectAtIndex:indexPath.row] valueForKey:@"Name"];
    cell.nameContentLabel.text = [NSString stringWithFormat:@"%@", value];

    value = [[myContacts objectAtIndex:indexPath.row] valueForKey:@"Tele"];
    cell.teleContentLabel.text=[NSString stringWithFormat:@"%@", value];

    value = [[myContacts objectAtIndex:indexPath.row] valueForKey:@"Image"];
    cell.myImageView.image = [[UIImage alloc] initWithContentsOfFile:value];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
}

И когда я хочу щелкнуть ячейку и нажать DetailViewController, так что мой stroyboard использует sege origin origin, но это не сработало, я думаю, что segue не мой MasterCell, и я попытался изменить пользовательский класс ячейки раскадровки, и это не было успехом.Как мне это сделать?Спасибо.

1 Ответ

7 голосов
/ 26 марта 2012

В вашей раскадровке вы должны создать переход не из ячейки, а из всего UITableViewController и установить некоторый идентификатор, например «MySegue» и стиль «Push».

Тогда в вашем tableViewController вы должны добавить

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
   {
       [self performSegueWithIdentifier:@"MySegue" sender:self];
   }

и

 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if([segue.identifier isEqualToString:@"MySegue"]){

    //do your stuff

    }
 }
...