MPVolumeView拇指图像不是中心

时间:2013-02-18 11:43:59

标签: iphone ios mpvolumeview

我在我的应用中使用MPVolumeView。我已自定义MPVolumeView,但由于滑块的拇指图像未正确设置,因此存在问题。

2 个答案:

答案 0 :(得分:0)

在MPVolumeView中,

它始终将音量值与您的设备硬件音量值一起使用。

如果您的硬件的最小音量为0.2,那么您的MPVolumeView设置滑块为0.2。 它使用0.0到1.0的体积值。

有关详细信息,请在此处下载示例代码,

Sample Code

您还可以自定义此卷视图

Help Link

如果您需要,请告诉我。

更新:

此处还有一个有用的链接,MPVolumeView

答案 1 :(得分:0)

修改

事实证明,当使用MPVolumeView时,iOS实际上并不垂直对齐您设置的图像与其他图像的设置方式相同。解决方案是创建一个稍微偏移的图像(如果需要说服图像更大,则可以始终使用alpha)并仅使用MPVolumeView。这有点痛苦,但效果很好。通常,您希望新图像的偏移量为2-4像素。


要设置体积拇指图像,您应该使用:

setVolumeThumbImage:forState:

例如,如果您有一个名为myThumbImage.png的图像和一个名为myVolumeView的MPVolumeView,您可以使用:

[myVolumeView setVolumeThumbImage:
    [UIImage imageNamed:@"myThumbImage"] forState:UIControlStateNormal];

这将找到项目中存在的任何名为myThumbImage.png的图像,它将用于滑块。你应该注意这个图像是你想要的大小,25x25通常有点大,但不是一个糟糕的起点。

当你点击它时,Apple的UISlider会变暗并改变按钮的外观。要完成此操作,请创建另一个看起来如何的图像(这可能是相同的图像,只是更暗,或完全不同的图像),并将其设置为拇指突出显示的图像(这是当你点击它时会发生什么)。

您可以使用以下方式完成此操作:

[myVolumeView setVolumeThumbImage:
    [UIImage imageNamed:@"VolumeThumbHighlighted"] forState:UIControlStateHighlighted];

将找到名为VolumeThumbHighlighted.png的图像并将其用于此目的。


请注意,您还可以使用可伸缩图像设置左右轨道图像,其方法与典型的UISlider图像略有不同。 您将使用此代码:

[myVolumeView setMinimumVolumeSliderImage:[[UIImage imageNamed:@"LeftTrackImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 0)]forState:UIControlStateNormal];
[myVolumeView setMaximumVolumeSliderImage:[[UIImage imageNamed:@"RightTrackImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 4)]forState:UIControlStateNormal];

这会将图像设置为边缘插入为4,您可以将其设置为您想要的任何值。

我不打算完全解释这一部分,因为它不是你问题的直接部分。