2012-06-14 2 views
0

У меня есть uislider с 6 вкладками наверху, см. image.Как получить указательную область uislider?

Теперь я хочу получить вкладку, на которой указывает ползунок. если мы сдвинем ползунок.

Все вкладки можно перестроить, перетаскивая их и помещая их так, если tab1 перемещается в положение tab5, а слайдер находится на 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

Смежные вопросы