2012-06-14 59 views
0

我有頂部有6個標籤的uislider,請參閱image如何獲得uislider指向區域?

現在我想要得到滑塊指向的標籤。如果我們移動滑塊。

所有的標籤可以通過拖拽放置它們,因此如果tab1移動到tab5的位置並且滑塊位於tab1的新位置(第二個最後位置),它應該顯示tab1值而不是tab5值。

- (void)addTab:(UIViewController *)viewController { 
if ([self.delegate respondsToSelector:@selector(willShowTab:)]) { 
    [self.delegate willShowTab:viewController]; 
} 

if (![self.childViewControllers containsObject:viewController] && self.count < self.maxCount - 1) { 
    [self addChildViewController:viewController]; 
    viewController.view.frame = _contentFrame; 

    if (_toobarVisible) 
     [self.toolbar setItems:viewController.toolbarItems animated:YES]; 

    // Add tab selects automatically the new tab 
    [UIView transitionWithView:self.view 
         duration:kAddTabDuration 
         options:UIViewAnimationOptionAllowAnimatedContent 
        animations:^{ 
         [self.tabsView addTab:viewController.title]; 

         if (self.currentViewController) { 
          [self.currentViewController viewWillDisappear:YES]; 
          [self.currentViewController.view removeFromSuperview]; 
          [self.currentViewController viewDidDisappear:YES]; 
         } 

         [self.view addSubview:viewController.view]; 
        } 
        completion:^(BOOL finished){ 
         [viewController didMoveToParentViewController:self]; 
         _currentViewController = viewController; 
        }]; 
} 

}

請提供代碼片段。

感謝您的幫助。

感謝,

+0

如果希望重新排列標籤後滑塊保持準確,它將需要多一點「片段」完成工作。 –

+0

我希望滑塊位於它所在的位置......另一方面,當我重新排列標籤時,滑塊點應該顯示其值的標籤 – Ronak

回答

1

理想的情況下,如果所有標籤頁的寬度相同,那麼你只需要弄清楚滑塊當前位於總寬度的哪個部分,並選擇索引處的選項卡。否則,你將不得不遍歷標籤來找出它們的水平邊界,以找出滑塊正在選擇哪一個。

+0

同樣的寬度是可以的,但所有標籤都是可移動的,所以如果一個標籤移動到其他位置我如何知道滑塊位於哪個標籤?請提供我的代碼片段 – Ronak

+0

如何知道哪個索引完全取決於您如何存儲標籤 –

+0

請檢查編輯的問題 – Ronak