Форум программистов, компьютерный форум CyberForum.ru

Жесты + View Controller - Objective-C

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
01.12.2013, 23:36     Жесты + View Controller #1
Доброго времени суток
Облазил кучу топиков стэк оферфлоу, но так и не нашел четкого, доступного ответа на свой вопрос.
Собственно сабж:
Есть viewcontroller1 и viewcontroller2, соответственно у каждого по .h и .m файлу
Как осуществить свайпом справа налево(в первом вью контроллере) переход из первого во второй, а свайпом слева направо(во втором вью контроллере) переход из второго в первый.
Желательно как можно подробнее.
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
02.12.2013, 13:02     Жесты + View Controller #2
как же вы искали то, если не смогли найти такое. На кириллице наверно
UISwipeGestureRecognizer вам нужен.
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
02.12.2013, 13:08  [ТС]     Жесты + View Controller #3
Монфрид, это я понял. Я не понял именно момент, где нужно прописывать механизм смены вьюконтроллера.
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
02.12.2013, 14:05     Жесты + View Controller #4
lowlol, один из конструкторов UISwipeGestureRecognizer принимает action, где должна быть ссылка на метод, который вызовется, когда произойдёт свайп
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
02.12.2013, 14:18  [ТС]     Жесты + View Controller #5
Монфрид, initWithTarget. Меня интересует, что нужно прописать в методе, вызываемом при свайпе
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
02.12.2013, 14:24     Жесты + View Controller #6
lowlol, там нужно прописать логику перехода на вьюконтроллер
Если вы используете navigationController, то pushViewController.
Если нет, то [self presentViewController..]
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
02.12.2013, 14:50  [ТС]     Жесты + View Controller #7
Монфрид, не могли бы Вы написать приблизительный код, так будет понятнее
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
02.12.2013, 14:59     Жесты + View Controller #8
понятнее будет почитать книжку и лучше для вас. Я уже и название методов вам написал, а вам всё не понятно что делать. Какой смысл от моего кода, если вы не поймёте что он делает.
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
02.12.2013, 15:04  [ТС]     Жесты + View Controller #9
Монфрид, название методов я и погуглить мог, а где и как их прописать я не знаю. Я понял как объявить жесты, но не понял как прописать метод, который свитчит между вьюконтроллерами
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
02.12.2013, 15:28     Жесты + View Controller #10
ну покажите ваш код, значит
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
02.12.2013, 16:26  [ТС]     Жесты + View Controller #11
Монфрид,
ViewController1.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#import "INViewController.h"
#import "Core.h"
@interface INViewController ()
 
@end
 
@implementation INViewController
 
@synthesize textFieldDecimalOutlet;
@synthesize textFieldBinaryOutlet;
@synthesize textFieldHexOutlet;
@synthesize textFieldOctalOutlet;
 
@synthesize firstViewOutlet;
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    UISwipeGestureRecognizer *rightSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)];
    UISwipeGestureRecognizer *leftSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)];
    
    [firstViewOutlet addGestureRecognizer:rightSwipe];
    leftSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
    [firstViewOutlet addGestureRecognizer:leftSwipe];
    
}
 
-(void)didSwipe:(UISwipeGestureRecognizer*) sender
{
    
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
@end
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
02.12.2013, 16:46     Жесты + View Controller #12
я не знаю что такое firstViewOutlet. Предположу, что это текущий viewController? если да, то можно так:
Objective-C
1
 [self.view addGestureRecognizer:rec];
Objective-C
1
2
3
4
5
-(void)didSwipe:(UISwipeGestureRecognizer*) sender
{
    SecondViewController *secondView=[SecondViewController alloc] init];//я хз какой у вас класс у второй вью, сами подставите.
   [self presentViewController:secondView animated:YES completion:nil];
}
это если у вас нет navigationController'a, вы мне не ответили есть ли он.
Если есть, то:
Objective-C
1
[self.navigationController pushViewController secondView];
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
02.12.2013, 17:26  [ТС]     Жесты + View Controller #13
Монфрид, смысл уловил, спасибо. navigationController'a нет. Возник еще вопрос, как связать
Objective-C
1
SecondViewController *secondView=[SecondViewController alloc] init];
с вью контроллером, который я накидал в сториборде
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
02.12.2013, 18:02     Жесты + View Controller #14
тогда на сториборде дайте для вью storyBoardId, по-моему.
И потом вместо [secondView alloc...] делайте
Objective-C
1
[self.storyboard instantiateViewControllerWithIdentifier: @"SecondViewName"];
а дальше всё так же
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
02.12.2013, 18:34  [ТС]     Жесты + View Controller #15
Монфрид, миллиард плюсов в Вашу карму
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 16:39     Жесты + View Controller
Еще ссылки по теме:

Objective-C Создать кнопку на другом View программно
Действие по переходу на другую страницу Tab Controller`a Objective-C
Objective-C StoryBoard vs View
Страшная анимация таблицы, после добавления кодом на View и добавления Constraint-ов Objective-C
Objective-C Всплытие события в родительское view, возможно ли реализовать

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
05.12.2013, 16:39     Жесты + View Controller #16
Вообще-то больше похоже, что вам UIPageViewController нужен...
Сразу предупреждаю: код писать не буду - все очень хорошо описано в хелпе.
Yandex
Объявления
05.12.2013, 16:39     Жесты + View Controller
Ответ Создать тему
Опции темы

Текущее время: 15:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru