2012-05-29 1 views
3

Я хочу сделать выбор нескольких строк в uitableview (вид uipopover), который является подзадачей UISplitview. Выбранная информация о строках должна отображаться в Lable в подробной панели splitview.Как сделать несколько строк в подвале UITableView UISplitView?

Мне удалось получить несколько строк, но не отображать информацию о выбранных строках в подробном окне.

Любой код help/snippet будет оценен по достоинству.

Спасибо,

+0

, если это возможно, то предоставить код, как попытаться управлять несколько выбором tableview' s cell? и как установить метку панели деталей соответственно, что выбор? поэтому у кого-то возникла проблема ... – AJPatel

+0

Почему бы вам просто не изменить состояние модели данных при выборе строки, чтобы узнать, какие ячейки выбраны, чтобы метод cellForRow знал, какие из них должны отображаться как выбранные? Затем вы также можете добавить их в массив (или просто перебрать свой собственный массив модели данных и проверить это состояние), чтобы отобразить выбранную информацию на панели сведений. –

+0

@phix type в ключевом слове «UISplitViewController» в xcode щелкните правой кнопкой мыши по нему и выберите «перейти к определению», вы увидите класс. – Ronak

ответ

1

, так как вы не дают нам некоторые примеры кода, мы не можем предоставить вам точные фрагменты. Есть много способов заполнить tableView так, как мы должны знать, как вы это сделали?

Тем не менее я расскажу вам, как он должен работать абстрактно. Вам понадобится массив с текущим выбором или - как предложил @ Ricard Pérez del Campo - вы добавляете свойство к своей модели данных, которая содержит состояние (например, selected).

Шаг 2 Вы проверить это свойство (или массив) каждый раз, когда вы
а) изменить выбор ИЛИ
б) tableView отображается на экране (viewWillAppear и всплывающее окно появится)

Поэтому вам нужен DataSource, который доступен из всех мест (в вашем случае Popover, то splitView и detailView)

Вы сказали, что один tableView уже работает, так что проблема для второй, вероятно, выбор dataSource.
Существует также метод в UITableView под названием indexPathsForSelectedRows, который даст вам массив для текущего выбора. Вы можете применить этот выбор к другому tableView, но это хакерский подход, и вы должны, безусловно, изменить свою модель данных.

1

В контроллере табличных добавить этот код:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.tableView.allowsMultipleSelection = YES; 
} 

По мнению делегата таблицы добавить следующее:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSArray *selectedRows = [tableView indexPathsForSelectedRows]; 

    NSMutableArray *mySelectedObjects = [NSMutableArray array]; 

    for (NSIndexPath *indexPath in selectedRows) { 
     MyObject *object = [datasource objectAtIndex:indexPath.row]; 
     [mySelectedObjects addObject:object]; 
    } 

    [self showSelectedObjectsInDetailPane]; 
} 

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

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