【问题标题】:Custom MPVolumeView Thumb Image not vertically centered since iOS 5.1自 iOS 5.1 以来,自定义 MPVolumeView 拇指图像未垂直居中
【发布时间】:2012-06-27 16:05:20
【问题描述】:

我正在构建一个需要 MPVolumeView 来控制音量的应用程序。它在 iOS 5.1 之前完美运行,但自从 5.1 更新以来,拇指图像不再垂直居中。我尝试了一些方法,例如更改想象尺寸、调整视图(和滑块)的大小,但似乎没有任何效果,拇指不再垂直居中。我获得居中拇指的唯一方法是使用默认的 iOS 拇指。

我尝试将 UISlider 添加到具有精确最小、最大和拇指图像的另一个视图中,并且该视图居中正常。

这是 MPVolumeView 的代码:

MPVolumeView *volumeView;
volumeView = [[[MPVolumeView alloc] initWithFrame:volumeViewHolder.bounds] autorelease];
[volumeViewHolder addSubview:volumeView];

UIView  *volumeViewSlider;
for (UIView *view in [volumeView subviews])
{
    if ([[[view class] description] isEqualToString:@"MPVolumeSlider"])
    {
        volumeViewSlider = view;
    }
}

[(UISlider *)volumeViewSlider setThumbImage:sliderHandleIcon forState:UIControlStateNormal];
    [(UISlider *)volumeViewSlider setMinimumTrackImage:leftTrackImage forState:UIControlStateNormal];
    [(UISlider *)volumeViewSlider setMaximumTrackImage:rightTrackImage forState:UIControlStateNormal];

volumeViewHolder 只是一个 153x33 的 UIView。我在屏幕截图中将拇指放在绿色中。

【问题讨论】:

标签: ios uislider ios5.1 mpvolumeview


【解决方案1】:

也许是一个更好的解决方案:

使用底部透明边框的较大图像。对于 Retina 显示器,应该在 10 像素左右。

【讨论】:

    【解决方案2】:

    我在一个项目中解决了同样的问题。必须使用 alpha = 0 设置左侧和右侧部分的颜色 - 这意味着没有拇指的所有滑块都是透明的(没有它的可移动部分)。在我们必须为滑块线创建自定义视图之后,没有拇指。在这个视图中,任何颜色的部分都可以根据需要移动,上或下,左或右。它使用为您的场合定义的 y 获得:

    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(x,y,width, height)];
    

    并将滑块作为子视图添加到这一行。结果视图将是滑块。例如:

    UISlider *ourSlider  = ...; 
    //initialise UISlider
    
    ourSlider.minimumTrackTintColor = [UIColor colorWithRed:0 green:122.0f/255.0f blue:1 alpha:0];
    
    ourSlider.minimumTrackTintColor = [UIColor colorWithRed:0 green:122.0f/255.0f blue:1 alpha:0];
    
    UIView *lineOfSliderWithoutThumb = ... ;
    // creation it
    
    [lineOfSliderWithoutThumb addSubview:ourSlider];
    

    //这行之后的OfSliderWithoutThumb就是我们自定义的uislider。 注意:这里的颜色作为 UISlider 左右两侧的默认滑块颜色。

    【讨论】:

    • 它也适用于 iOS 8 和 iOS 7
    猜你喜欢
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    相关资源
    最近更新 更多