2012-01-05 1 views
2

У меня есть небольшой проект, где я пытаюсь создать список рецептов для игры. У меня UITableView работает отлично - единственная проблема заключается в том, что я не знаю, как подключить каждую ячейку с помощью DetailView. В настоящее время, если вы выберете любую из ячеек, она будет отображать анимацию выбора и не будет никуда.Как загрузить тот же UIVew с помощью разных данных из списка таблиц?

Я также не знаю, какой лучший способ приблизиться к этому, будет использовать новейший iOS5 SDK & Xcode 4.2. Я едва знаком с раскадрой, но я предполагаю, что должен быть более простой способ, чем создание 40 различных деталей для каждого рецепта.

Моя надежда состояла в том, чтобы создать новый Recipe.h/Recipe.m. Объект установил и сохранил все данные там. Затем он может быть загружен в тот же шаблон DetailView, но информация будет меняться в зависимости от выбранного рецепта. Я надеюсь в этом есть смысл?

Пожалуйста, дайте мне знать, если я смогу прояснить ситуацию. Я приложил my project source code, если это было бы полезно ... спасибо заранее!

ответ

2

Прежде всего, добавьте этот кусок кода в MasterViewController.m,

#import "DetailViewController.h" 

Затем откройте MainStoryboard.storyboard, а затем выполните следующие действия:

  1. Добавить UITableViewCell в Tableview в MasterView ,
  2. В инспекторе ячейки выберите стиль как базовый и укажите его идентификатор как «Ячейка».
  3. Control + щелкните по ячейке и перетащите строку до DetailView и выберите Push. Вы должны быть в состоянии увидеть раскадровку. Дайте свой идентификатор «showDetail».
  4. Затем перейдите к MasterViewController.m и комментировать следующий код в cellForRowAtIndexPath:

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

    Это происходит потому, что вы уже получаете клетки от

    UITableViewCell * ячейка = [Tableview dequeueReusableCellWithIdentifier: CellIdentifier];

  5. Затем добавьте следующий код в MasterViewController.m

    -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    { 
        if ([segue.identifier isEqualToString:@"showDetail"]) 
        { 
        DetailViewController *dvc = segue.destinationViewController; 
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 
        [dvc setDetailItem:[self.harvestRecipeList objectAtIndex:indexPath.row]]; 
        } 
    } 
    

построить и запустить. Тебе должно быть хорошо.

+0

@Jake, кажется, что вы не установили SEGUE правильно .. – Ilanchezhian

+0

Хороший улов и хорошее решение – Ilanchezhian

+0

Спасибо @Aadhira :) – nithinbhaktha

 Смежные вопросы

  • Нет связанных вопросов^_^