2015-09-03 5 views
0

Я использую SWRevealViewController. enter image description hereВыдвижная боковая панель с подкатегориями

Это несколько строк в виде таблицы. Каждая строка открывает новое представление. Теперь я хочу показать некоторые подкатегории/строки при щелчке служб и наоборот. Подкатегории будут подобны проектам, разработкам, приложениям и т. Д. , и каждая из этих подкатегорий открывает другое представление. Я использую только 1 раздел. Есть идеи?

ответ

1

Вы можете использовать UIPopoverContoller содержащий UITableView для подкатегорий Вот ссылка на UIPopover https://github.com/alvises/FPPopover Как UIPopover для IPad так в Iphone и будет иметь импортную упоминание ThirdParty библиотеки выше.

+0

Извините, но я не хочу использовать этот подход и стиль. –

0

вы можете использовать эти MMDrawerController содержащих UITableView для слайда из боковой панели с подкатегориями, он имеет очень хорошие стили анимации для боковой панели ..

https://github.com/mutualmobile/MMDrawerController

я надеюсь, что это помогает ..

+0

Не совсем то, что я ищу. Хочешь, чтобы это было похоже на флипкарт и т. Д. –

0

Используйте следующие шаги для осуществления расширяемых клеток

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *CellIdentifier = @"Cell"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
} 
cell.textLabel.text=[[self.arForTable objectAtIndex:indexPath.row] valueForKey:@"name"]; 
[cell setIndentationLevel:[[[self.arForTable objectAtIndex:indexPath.row] valueForKey:@"level"] intValue]];  
return cell; 

}

Это метод TableView DidSelectRow метод разворачивания и сворачивания ряда

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
[tableView deselectRowAtIndexPath:indexPath animated:YES]; 
NSDictionary *d=[self.arForTable objectAtIndex:indexPath.row]; 
if([d valueForKey:@"Objects"]) { 
    NSArray *ar=[d valueForKey:@"Objects"]; 
    BOOL isAlreadyInserted=NO; 
    for(NSDictionary *dInner in ar){ 
     NSInteger index=[self.arForTable indexOfObjectIdenticalTo:dInner]; 
     isAlreadyInserted=(index>0 && index!=NSIntegerMax); 
     if(isAlreadyInserted) break; 
    } 
    if(isAlreadyInserted) { 
     [self miniMizeThisRows:ar]; 
    } else {   
     NSUInteger count=indexPath.row+1; 
     NSMutableArray *arCells=[NSMutableArray array]; 
     for(NSDictionary *dInner in ar) { 
      [arCells addObject:[NSIndexPath indexPathForRow:count inSection:0]]; 
      [self.arForTable insertObject:dInner atIndex:count++]; 
     } 
     [tableView insertRowsAtIndexPaths:arCells withRowAnimation:UITableViewRowAnimationLeft]; 
    } 
} 
} 

Метод расширения и минимизировать клетки

(void)miniMizeThisRows:(NSArray*)ar{ 
for(NSDictionary *dInner in ar) { 
    NSUInteger indexToRemove=[self.arForTable indexOfObjectIdenticalTo:dInner];   
    NSArray *arInner=[dInner valueForKey:@"Objects"]; 
    if(arInner && [arInner count]>0){ 
     [self miniMizeThisRows:arInner]; 
    } 
    if([self.arForTable indexOfObjectIdenticalTo:dInner]!=NSNotFound) { 
     [self.arForTable removeObjectIdenticalTo:dInner]; 
     [self.tableView deleteRowsAtIndexPaths: 
      [NSArray arrayWithObject:[NSIndexPath indexPathForRow:indexToRemove inSection:0]] 
        withRowAnimation:UITableViewRowAnimationRight]; 
    } 
} 
} 
+0

Показаны 2 ошибки. Нет видимого интерфейса для insertObject, removeObjectIdenticalTo. Как исправить эти –

+0

Сделать все массивы глобальными и добавить @property (неатомные, сильные) перед переменной – Ammar

+0

Я уже это сделал. Все еще возникают ошибки. –

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