ios - 自 iOS 5.1 以来自定义 MPVolumeView 缩略图不垂直居中

标签 ios uislider ios5.1 mpvolumeview

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

我尝试将 UISlider 添加到另一个具有精确的最小值、最大值和拇指图像的 View ,并且那个 View 居中很好。

这是 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。我在屏幕截图中将拇指设为绿色。 enter image description here

最佳答案

也许更好的解决方案:

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

关于ios - 自 iOS 5.1 以来自定义 MPVolumeView 缩略图不垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230552/

相关文章:

ios - 定义 UIImage 将使用的文件 (Swift)

ios - Xcode 连接到 MS SQL 数据库

ios - 如何根据 Swift 4 中 UISlider 的值使用 JSON 中的数据更改 UITextfield 文本?

xcode6 - UISlider 在 iOS 8.3 中消失

jquery - 使用 selecttouislider 的 Onchange 事件

core-data - 映射模型为NULL - 核心数据迁移

ios - 激活 UITextField 时立即更改第一响应者

ios - 桥接 header 错误 - "xxx-Bridging-Header.h"文件在 SWIFT 中不存在

core-data - iOS 5.1 打开 WithCompletionHandler 不成功

ios - -[UITableView reloadData] 仅在滚动后显示变化