1

Я пытаюсь сделать некоторые пользовательские представления, и мне интересно, как я могу реализовать что-то вроде этого, когда у вас есть UISegmentControl (или что-то подобное), и вы переключаетесь между разными контроллерами представления, но контроль сегмента остается в том же месте (не обращайте внимания на разный размер изображений). Как навигационный контроллер, но с сегментом, а не с ним. Любые идеи будут высоко оценены. БлагодаряUISegmentControl as NavigationController

enter image description hereenter image description here

+0

Я дал вам ответ. Но если вы все еще смущены, тогда скажите мне ... я дам вам более упрощенный ответ. –

+0

Эй, ты решил свою проблему ??? если да, то выполните мой ответ и примите мой ответ, или, если нет, тогда, пожалуйста, сообщите свое сомнение. –

ответ

0

Вы можете создать ViewController с управлением сегмента и массив, который будет содержать другие контроллеры. При изменении сегмента вы должны взять вид с одного из контроллеров из массива и добавить его как подчиненный в родительский ViewControllerView. Это будет выглядеть как этот

//in ViewControllerView.m 
-(void)touchUpInsideSegmentIndex:(NSUInteger)segmentIndex { 
    //delegate is your ViewController 
    UIView * newToolView = [delegate viewAtIndex:segmentIndex]; 
    //contentView declared in ViewControllerView.h 
    if (newToolView != contentView && newToolView) { 
     [contentView removeFromSuperview]; 
     [contentView release]; 
     contentView = [newToolView retain]; 
     [self addSubview:contentView]; 
     [self setNeedsLayout]; 
    } 
} 

//in ViewController.m 
- (UIView*)viewAtIndex:(NSInteger)index { 
    //yourControllersArray is an array of your controllers 
    if (index < 0 || index >= [yourControllersArray count]) {  
     NSLog(@"View At Wrong Index %d (max=%d)", index, [yourControllersArray count]); 
     return nil; 
    } 
    return [[yourControllersArray objectAtIndex: index] view]; 
} 
0
  1. Позиция UISegmentedControl в навигационной панели.
  2. Настроить навигационную панель прозрачной.
  3. В UISegmentedControl метод кнопочные и просмотреть поп контроллеры из стека UINavigationController, или шоу и увольняют модальный
2

Это можно легко сделать. Вам просто нужно использовать контроллер навигации, но скрыть навигационную панель во всех видах. И тогда вы можете использовать

[self.navigationController pushViewController:@"Your viewController to which you want to navigate" animated:YES];

на выбор индекса сегмента. и для возврата с любого из этих контроллеров просмотра вам просто нужно реализовать это

[self.navigationController popViewControllerAnimated:YES]; на действие кнопки выбранного сегмента. Надеюсь, это поможет вам. Счастливое кодирование .. !!!

+0

Если я сделаю UISegmentControl дочерним элементом навигационной панели и скрою ее, то панель навигации и управление сегментом будут скрыты :) – alex

+0

сделать цвет панели навигации прозрачным и отключить навигационную панель .... я надеюсь, что ваша цель будет достигнуты. –

+0

ваше решение подразумевает, что UISegmentControl является дочерним элементом UINavigationController, а затем изменит альфу навигационного контроллера на 0.0, а также сделает сегмент прозрачным. Я пытался. Это не работает – alex

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