2013-06-25 4 views
4

Я пытаюсь сделать контроллер TabBar, как показано ниже эффекта:TabBar контроллер с эффектом красть

image

По ударяя в ViewController будет перенаправлять на следующую вкладку. Как мы можем добиться этого в iOS? Есть ли какие-либо другие меры для этого?

+0

вы можете использовать UIScrollView с контроллером зрения сдерживания I. е. addchildViewcontroller menthod ... – Kalpesh

+0

@Kalpesh Есть ли какой-нибудь пример кода, связанный с этим? – Praveenkumar

ответ

2

Просто добавьте UISwipeGestureRecognizer в свой контроллер tabBarView и измените свой индекс tabBar после прокрутки.

swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self 
                     action:@selector(swipeMethod:)]; 
swipeRecognizer.direction = UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft; 
[self addGestureRecognizer:swipeRecognizer]; 

И мой метод для обработки салфетки является:

-(void)swipeMethod: (UISwipeGestureRecognizer *) sender 
{ 
    NSLog(@"Swipe!"); 
} 

EDIT
Или вы можете использовать UIScrollView с подкачкой включить и UIView для отображения данных.

Вот учебник вы ищете Tabbar Controller with swipte effect

+1

Я знаю, что это сработает. Но это не даст эффекта, которого я ожидаю. – Praveenkumar

+1

@ Praveen- используйте uiview, затем –

+0

какой эффект вы ожидаете? – Rajneesh071

0

https://github.com/nicklockwood/SwipeView вы можете использовать этот класс, чтобы достичь своей цели ...

или же вы должны сделать анимацию для крана на TabBar, используя следующий метод,

[UIView transitionFromView:<#(UIView *)#> toView:<#(UIView *)#> duration:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> completion:<#^(BOOL finished)completion#>] 
1

Существует библиотека для этого на GitHub, это называется MGSwipeTabBarController и предназначен, чтобы сделать именно то, что вы ищете.

Это так просто, как:

NSArray *viewControllers = . . . //your view controllers 
MGSwipeTabBarController *swipeController = [[MGSwipeTabBarController alloc] initWithViewControllers:viewControllers]; 

Пожалуйста, обратите внимание, что он совместит только с iOS7 и + и что вы все равно должны создать свои собственные панели вкладок, которые реагируют на событиях прокрутки с использованием протокола MGSwipeTabBarControllerDelegate ,

https://github.com/mglagola/MGSwipeTabBarController