Как пуш / поп контроллер по смахиванию в iPhone SDK? - PullRequest
1 голос
/ 07 сентября 2011

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

Структура приложения выглядит следующим образом enter image description here

Для этого я сначала загружаю экран календаря иэто вид загрузился, я загружаю домашний экран с помощью PushViewController.На главном экране, если пользователь проводит пальцем по левому краю, экран календаря отображается с помощью PopViewController, или, если пользователь проводит пальцем по правому краю, экран просмотра списка отображается с помощью PushViewController.Это работает нормально.

Теперь проблема в том, что на моем экране просмотра списка я использую UITableViewController, где Gesture Recognizer не будет работать идеально, некоторое время он не может провести.

Как я могу отлично провести между этими экранами, я хочу провести так же, как прокрутка прокрутки.

Пожалуйста, предоставьте мне какое-нибудь решение.

Ответы [ 2 ]

4 голосов
/ 07 сентября 2011

Если ваше приложение работает на iOS 3.2 или выше, вы можете сделать это с помощью UISwipeGestureRecognizer следующим образом.

//Add Table
    UITableView *table = [[UITableView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
    table.dataSource=self;
    table.delegate=self;
    [table reloadData];
    [self.view addSubview:table];
    [table release];

    //Add Gesture Recognizer
    swipeLeftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom)];
    [table addGestureRecognizer:swipeLeftRecognizer];
    [swipeLeftRecognizer release];

И где-то в вашем контроллере;

-(void)handleSwipeFrom {

    if (swipeLeftRecognizer.direction == UISwipeGestureRecognizerDirectionRight) {

        // Your code here to go back to the main view

    }

}

Это будет реагировать только на правый удар и позволит вашему столу вести себя нормальным образом.Надеюсь это поможет!:)

0 голосов
/ 09 сентября 2011

После долгих поисков я нашел решение. Я беру прокрутку с шириной в 3 экрана и добавляю представление календаря в первом кадре экрана, добавляю домашнее представление во втором кадре экрана, а затем добавляю представление списка в третьем кадре, создавая UINavigationController *navigationHome; id parentController; на домашнем экране для управления навигацией по домашнему экрану из scrollview и создания такой же техники для остальных контроллеров, это будет работать нормально.

...