2013-02-20 2 views
0

В настоящее время у меня есть приложение с 50 или около того пользовательскими кнопками, содержащимися в виде прокрутки. Все они связаны с контроллером навигации для отдельных контроллеров просмотра, чтобы показать полноэкранное изображение кнопки с заголовком. Я хотел бы иметь возможность прокручивать между контроллерами представлений, но когда я это сделаю, задняя кнопка затем вернет меня во все проколы и не вернется в исходное меню. Есть ли более аккуратный способ сделать все это, так как многие взгляды также убивают мой mac?салфетки и навигационные контроллеры

Благодаря

+1

Вы утверждаете, что в вашем приложении есть 50+ контроллеров? – JMarsh

+0

Вы должны сделать один контроллер подробного представления с помощью UICollectionView с полноразмерными ячейками. Это позволит вам перемещаться между изображениями, и вы можете динамически устанавливать смещение содержимого в viewDidLoad, чтобы изображение, выбранное в предыдущем представлении, было видимым. –

+0

Да, у него есть 50+ контроллеров в нем, я новичок, поэтому не знал лучшего способа сделать это. Я использовал подробный вид из табличного представления для моего поиска, но хочу иметь очень похожую настройку, например, на галерею фотографий Apple. Не знаете, как это сделать? Я работаю через раскадровки, поскольку мое кодирование еще не дошло до нуля. Я также понимал, что сборники были только на iOS 6.1 и далее? – David

ответ

1

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

Это ответ, который вы хотите прочитать:

Вы можете установить свою собственную кнопку «Назад» и выполнить задачу возврата к первому UIViewController при его нажатии.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Atrás", nil) style:UIBarButtonItemStylePlain target:self action:@selector(backPressed:)]; 
    self.navigationItem.leftBarButtonItem = btn; 
} 


-(void)backPressed: (id)sender 
{ 
    // Go back to your first view 
} 

Это ответ вы должны следовать:

Swiping через различные UIViews, которые делают то же самое (изображение + текст) не является хорошей идеей: во-первых, потому, что вы тратите много памяти, а во-вторых, потому что, если нужно внести какие-либо изменения, было бы утомительно ...

Итак, что вам нужно сделать, это использовать только ОДИН UIView, и когда вы обнаруживаете жестов салфетки, вы просто изменяете то, что отображается в представлении, это ваша задняя кнопка всегда вернется правильно.

+0

этот второй вариант звучит идеально, но как бы я это достиг? извините завершен новичок! – David

+0

Перенесите все кнопки в единый UIView, реализуйте пользовательский UIViewController и реализуйте там делегата gesture ... Затем, когда обнаружен жест жестов, измените IBOutlets, которые вы определили ... – apascual

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