2013-02-27 59 views
2

UIScrollView具有內置行爲「directionLockEnabled」。約束UIScrollView平移?

啓用後,平移將嘗試鎖定到水平或垂直方向。但是,當用戶積極嘗試對角滾動時 - 它仍然允許對角滾動。

我想刪除對角滾動的能力。

非常感謝提前。

編輯:

我試圖把裏面的另一個一個UIScrollView(每個尺寸以限制運動),但泛識別似乎矛盾 - 只有一個工作。

我已經看了TTScrollView,看看它是否可以修改作業 - 但它似乎並沒有被正確的開箱工作(第一手勢後凍結。)

我試着加入第二個動作(監聽器)給UIScrollView.panGestureRecognizer以調用setTranslation:inView和一個約束值。這導致跳躍不穩定。

和其他幾個途徑可能不值得一提。

編輯2:

Odrakir的解決方案的工作原理。代碼如下所示:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    UIImage* image = [UIImage imageNamed:@"Sofia"]; 
    UIImageView* imageView = [[UIImageView alloc] initWithImage:image]; 
    imageView.frame = CGRectMake(0, 0, 1024 * 2, 768 * 2); 

    UIScrollView* scrollView1 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 1024*2, 768)]; 
    scrollView1.contentSize = CGSizeMake(1024*2, 768*2); 
    [scrollView1 addSubview:imageView]; 

    UIScrollView* scrollView2 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)]; 
    scrollView2.contentSize = CGSizeMake(1024*2, 768); 
    [scrollView2 addSubview:scrollView1]; 

    [self.view addSubview:scrollView2]; 
} 
+1

把一些代碼來解釋 – mangesh 2013-02-27 13:00:58

回答

0

我從來沒有嘗試過,但我有一個具有水平滾動型的應用程序,它裏面有多個視圖,他們每個人用自己的垂直滾動型。

這就像一本雜誌,有不同的文章,每篇文章都有很多頁面。

這兩個ScrollViews的工作和用戶不能對角線滾動。你可以試試。

的顯示層次結構是水平ScrollView->查看 - >垂直滾動型

+0

這似乎是工作 - 我會後一些工作的代碼,一旦我得到了所有瑣碎的問題。非常感謝。 – qarl 2013-02-27 15:50:26