2016-04-21 117 views
0

如何防止UITableView僅向下滾動? 我試圖使用滾動啓用的屬性,但它凍結了雙方的滾動。 在此先感謝。如何防止UITableView向下滾動?

+0

tableView.alwaysBounceVertical = false工作乾淨 –

+0

謝謝,正是我所知 – elkorb

回答

2

您應該在UITableViewDelegate中執行func scrollViewDidScroll(scrollView: UIScrollView)

func scrollViewDidScroll(scrollView: UIScrollView) { 
    if scrollView.contentOffset.y > 0 { 
     // you scrolled down 
     scrollView.contentOffset.y = 0 
    } 
} 
0

設置你的view-controller爲您UITableView的委託

self.myTableView.delegate = self; 

,並添加下面的方法到您的視圖控制器,

-(void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    CGPoint translation = [scrollView.panGestureRecognizer translationInView:scrollView.superview]; 

    if(translation.y > 0){ 
     [scrollView setScrollEnabled:NO]; 
    } else { 
     [scrollView setScrollEnabled:YES]; 
    } 
} 

我沒有測試過,但我猜猜它會工作。

編輯:對不起,我沒有看到上次標籤。以下是雨燕版本:

func scrollViewDidScroll(scrollView: UIScrollView) { 
    var translation: CGPoint = scrollView.panGestureRecognizer.translationInView(scrollView.superview) 

    if translation.y > 0 { 
     scrollView.scrollEnabled = false 
    } else { 
     scrollView.scrollEnabled = true 
    } 
} 
-1
- (void)viewDidLoad { 
    myTableView.scrollView.delegate = self; 
} 

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if (scrollView.contentOffset.y > 0 && scrollViewmyTableView.scrollView) 
    { 
     [scrollView setScrollEnabled:NO]; 
     [scrollView setContentOffset:CGPointMake(0, 0)]; 
    } 
    [scrollView setScrollEnabled:YES]; 
} 
1

viewDidLoad()方法添加tableView.alwaysBounceVertical = false

這將幫助您達到您的要求。