【发布时间】: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。我在屏幕截图中将拇指放在绿色中。
【问题讨论】:
-
我遇到了同样的问题,Daniel Amitay 指出了解决方案:tibr.me/2012/07/14/customizing-mpvolumeview-appearance
-
这不是一个很好的解决方案,因为它取代了所有 MPVolumeSlider 的 MPVolumeSlider 实现。这会导致我们用来播放其他媒体的 MPMoviePlayerViewController 滑块发生偏移。
-
@murze:如果我见过的话,那简直是骇人听闻!这被 Apple 接受了吗?
-
太棒了!感谢您的快速答复!
标签: ios uislider ios5.1 mpvolumeview