我的uislider顶部有6个标签,请参见。

现在,我想获取滑块所指向的选项卡。如果我们移动滑块。

可以通过拖动并放置所有选项卡来重新拖动它们,因此,如果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;
                    }];
}


}

请提供我的代码段。

感谢您的帮助。

谢谢,

最佳答案

理想情况下,如果所有选项卡的宽度均相同,则只需找出滑块当前位于总宽度的哪一部分,然后选择该索引处的选项卡即可。否则,您将不得不遍历这些选项卡以找到它们的水平边界,以找出滑块正在选择哪个边界

10-08 06:23