编辑:
所以事实证明,当使用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,您可以将其设为任何您想要的值。
我不会完全解释这部分,因为它不是您问题的直接部分。