Соедините одно и то же представление двумя разными способами с помощью раскадровки

Извините за мой английский, и мой вопрос:

Я начал разрабатывать приложение недавно, и, возможно, мой вопрос глуп.

Я пытаюсь разработать приложение с панелью вкладок, и в моем «доме» есть несколько изображений, которые подключаются (при нажатии) в одном и том же представлении, которые также связаны с панелью вкладок.

Чтобы лучше объяснить мою идею, я прикрепляю изображение своей раскадровки, где есть связи (перейдите по ссылке ниже).

http://www.manuelragazzini.it/mystoryboard.png

Это работает, но проблема в том, что когда я подключаю изображение из своего «дома» к другому представлению с помощью «распознавателя жестов касания», и когда я нажимаю на свое изображение, оно загружает представление «метка 2», но без панели вкладок, вкладка бар исчезает.

Почему это происходит?


person Manuel Ragazzini    schedule 10.04.2013    source источник
comment
Я предполагаю, что вам следует реализовать собственный класс перехода (подкласс UIStoryboardSegue), который сообщит вашему контроллеру вкладок выбрать контроллер представления в индексе «1» (меню). Подключите свой жест изображения к tabbarcontroller в раскадровке и выберите пользовательский переход... Сейчас пробуем это в коде.   -  person Rafael Kayumov    schedule 10.04.2013


Ответы (1)


Сделанный. Создайте собственный класс перехода (подкласс от UIStoryboardSegue).

.h файл

#import <UIKit/UIKit.h>

@interface CustomSegueOpenTab : UIStoryboardSegue

@end

.м файл

#import "CustomSegueOpenTab.h"

@implementation CustomSegueOpenTab

-(void)perform
{
    UIViewController *src = [self sourceViewController];

    UITabBarController *tabbarController =  (UITabBarController *)[src tabBarController];
    [tabbarController setSelectedViewController: (UIViewController *)[tabbarController.viewControllers objectAtIndex:1]];
}

@end

src — домашний вьюконтроллер. Вы можете обратиться к его свойству tabbarController и получить объект tabbarController. Затем просто выберите нужный товар.

После того, как вы создали переход, соедините действие жеста изображения с tabbarController в раскадровке, выберите «Пользовательский».

Кстати, похоже, что не имеет значения, какой контроллер будет местом назначения действия жеста в раскадровке, поскольку мы ссылаемся только на исходный контроллер представления (домашний).

person Rafael Kayumov    schedule 10.04.2013