0

我在顶部有 6 个标签的 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;
                    }];
}

}

请提供我的代码段。

感谢你的帮助。

谢谢,

4

1 回答 1

1

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

于 2012-06-14T13:11:40.607 回答