測試用例是很容易複製:下載蘋果的PhotoScroller示例應用程序,並嘗試去適應它,這樣平移(包括周圍縮放圖像,以及之間的每個圖像)只能用兩個手指。分頁的UIScrollView用兩個手指平移和縮放
設置panGestureRecognizer
同時爲pagingScrollView
和imageScrollView
只接受一個最小&最大的2個觸摸似乎是一個良好的開端,但它不工作。它可以讓你用兩根手指在圖像上滾動*,但是分頁不起作用。
我已經嘗試了很多設置和自定義手勢識別器的組合,而且我有點難住。是一個自定義的滾動視圖子類將有任何用處,或者我可以以某種方式操縱滾動視圖委託方法,使其工作?
* 編輯:其實,它在這種情況下不會正常滾動。視圖不再像單觸一樣順暢地滑動...
更新:我仍然在爲這一個而努力。我希望從誰已與UIGestureRecognizer
S和UIScrollView
在扮演各地的人一些輸入。
編輯:
設置ImageScrollView
類只接受兩個亮點:
- (id)initWithFrame:(CGRect)frame
{
// ...
// Template code
// ...
[self.panGestureRecognizer setMinimumNumberOfTouches:2];
[self.panGestureRecognizer setMaximumNumberOfTouches:2];
}
設置PhotoViewController
的pagingScrollView
只接受兩個亮點:
- (void)loadView
{
// ...
// Template code
// ...
[pagingScrollView.panGestureRecognizer setMinimumNumberOfTouches:2];
[pagingScrollView.panGestureRecognizer setMaximumNumberOfTouches:2];
}
這些修改是直接在PhotoS上面製作的croller示例應用程序。我希望這些簡單的改變爲兩個手指交互工作,但是副作用都是奇數(如上所述)。
正在下載。 108mb o_O – 0xSina
@PragmaOnce:是的,很抱歉鏈接這麼大的樣本。它包含分頁滾動視圖的所有全尺寸和平鋪圖像。漂亮的圖片沒有必要證明我的觀點,但嘿...! – Stuart
UIScrollView有它自己的私人手勢識別器。即使是暴露的panGestureRecognizer是一個私人類。 'NSLog(@「%@」,[pagingScrollView valueForKeyPath:@「gestureRecognizers.class」]);' - >'(UIScrollViewDelayedTouchesBeganGestureRecognizer,UIScrollViewPanGestureRecognizer,UIScrollViewPagingSwipeGestureRecognizer)''。我認爲你需要選擇一個不同的用戶界面。 –