【问题标题】:UISlider with visual tracking popup view. Popup hidden behind other view elements带有视觉跟踪弹出视图的 UISlider。隐藏在其他视图元素后面的弹出窗口
【发布时间】:2014-06-17 19:51:41
【问题描述】:

我一直在(成功地)遵循以下教程,了解如何构建一个绘制视觉跟踪弹出视图的 UISlider 子类。

http://blog.neuwert-media.com/2011/04/customized-uislider-with-visual-value-tracking/

我的最后一个问题是弹出视图被其他视图 imageView 元素隐藏。我一直在寻找某种显示顺序或偏好设置,但没有运气坚持在图像上方显示我的弹出视图。

【问题讨论】:

    标签: objective-c uislider


    【解决方案1】:

    试试这个SO Answer:

    [parentView bringSubviewToFront:[[parentView subviews] objectAtIndex:0]];
    // or
    [parentView bringSubviewToFront:popupView];
    

    【讨论】:

      【解决方案2】:

      我建议将弹出框作为子视图添加到应用程序的 keyWindow 中,使其高于一切。这可能是用户的预期行为。比如:

      - (void)setPopoverVisible:(BOOL)visible {
          if (visible) {
              [self.popover removeFromSuperview];
              UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
              [keyWindow addSubview:self.popover];
          }
          [UIView animateWithDuration:0.15
                                delay:0
                              options:UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionCurveEaseInOut
                           animations:^{
                               self.popover.alpha = (visible ? 1 : 0);
                           }
                           completion:^(BOOL finished) {
                               if (!visible) {
                                   [self.popover removeFromSuperview];
                               }
                           }];
      }
      

      请记住,在定位弹出框以将矩形或点(用于定位滑块的任何内容)转换为 keyWindow 的边界时。例如:

      - (void)positionPopover {
          // Calculate newPopoverCenter in self.bounds
          UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
          self.popover.center = [self convertPoint:newPopoverCenter toView:keyWindow];
      }
      

      【讨论】:

        【解决方案3】:

        可以在此处找到更现代的方法:https://github.com/alskipp/ASValueTrackingSlider。也许它会解决你遇到的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-06
          相关资源
          最近更新 更多