在iOS7發表之後,手機界上的UI就開始有了很大幅度的改變;另一方面,在當時小螢幕的iPhone,可視畫面已經不如強大的android陣營。因此設計師常常要想盡辦法在小螢幕塞上豐富的畫面卻又不覺得凌亂複雜。
而一般我們使用的tabBar,就是最常被拿來精省的一個小區塊;讓使用者在單純瀏覽畫面時不需要看到,直到真正要他的時候再讓他顯示出來。iOS版的Safari就是最好的例子。
要做到類似的功能,需要用到手勢的判斷來做處理。
//新增手勢判斷, panGesture是指滑動的手勢
UIPanGestureRecognizer* myPanGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureRecognizerAction:)];
//
//在某個View裡加入手勢判斷, 這邊是一個nvaigationViewController裡的code
//一般我們會在navigationController加入判斷手勢, 因為在app裡不會只有一層;
//若是app真這麼單純,也可以直接加在viewController裡
//
[self.view addGestureRecognizer: myPanGestureRecognizer];
- (void)panGestureRecognizer:(UIPanGestureRecognizer*)panGestureRecognizer
{
//
//取得點對點之間的數值
//手指頭按下去那一瞬間為起始, 也就是(0, 0)
//以起始為依據, 往左滑--> X數值為負
// 往右滑--> X數值為正
// 往上滑--> Y數值為負
// 往下滑--> Y數值為正
//
CGPoint nowPoint = [panGestureRecognizer translationInView:self.view];
}
我們可以依照讀取的數值來做判斷及處理,比如說,當Y值大於50時,將底下的tabBar縮下去;
Y值小於50時,再將tabBar往上推回來。
有了手勢判斷,可以讓我們的UI變得更靈活且讓使用者能夠在小螢幕看到更多東西。
留言列表