2016-11-22 63 views
0

我想在一個UIViewController添加三個觀點,定製的UIView類的UIScrollView與UITableView的

  1. 的UIImageView
  2. 滾動段控制(HMSegmentedControl
  3. UIViews(或)UITableviewCells

它看起來像這樣, enter image description here

當整個視圖滾動段控件時,應該將其固定在屏幕頂部(如UITableview中的標題)。

我的代碼

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 

if ((long)scrollView.tag == 10) { 

    // Main scrollview 
    if (self.lastContentOffset >= scrollview.contentOffset.y) { 
     NSLog(@"Down"); 
     if (scrollview.contentOffset.y < 158.0f) { 
      [scrollview setContentOffset:CGPointMake(scrollview.contentOffset.x, scrollview.contentOffset.y)]; 
      [matchInfoTable setScrollEnabled:NO]; 
      [scrollview setScrollEnabled:YES]; 
     } 
    } else if (self.lastContentOffset <= scrollview.contentOffset.y) { 
     NSLog(@"Up"); 
     NSLog(@"%f",scrollview.contentOffset.y); 
     if (scrollview.contentOffset.y > 138.0f) { 
      [scrollview setScrollEnabled:NO]; 
      [matchInfoTable setScrollEnabled:YES]; 
     } 

     if (scrollview.contentOffset.y >= 163.0f) { 
      [scrollview setContentOffset:CGPointMake(scrollview.contentOffset.x, 163.0f)]; 
      [scrollview setScrollEnabled:NO]; 
      [matchInfoTable setScrollEnabled:YES]; 
     } 
    } 
    self.lastContentOffset = scrollview.contentOffset.y; 

    NSLog(@"LastOffset :: %f",self.lastContentOffset); 

} else if (scrollView.tag == MATCH_INFO) { 
    // match info table 

    if (scrollView.contentOffset.y == 0) { // TOP 
     [scrollview setContentOffset:CGPointMake(scrollview.contentOffset.x, scrollview.contentOffset.y)]; 
     [matchInfoTable setScrollEnabled:NO]; 
     [scrollview setScrollEnabled:YES]; 
    } 
} 
} 

在該代碼時,在頂部的段控制引腳。下面的視圖不會連續滾動。我需要再次觸發它的滾動。

所有的答案讚賞!

回答

0

我認爲你應該更好地使用UIPageViewController並放入所有的tableviews,然後你可以檢測到滑動和更改選項卡。

您也可以使用UISwipeGestureRecognizer並檢測在這個崗位描述左,右刷卡left and right swipes