我在我的项目
中添加了这样的MPVolumeview这是我用于iPad的代码。
- (void)addVolumeControl {
volumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(780, 33, 150, 40)];
NSArray *tempArray = volumeView.subviews;
for (id current in tempArray)
{
if ([current isKindOfClass:[UISlider class]])
{
UISlider *tempSlider = (UISlider *) current;
[tempSlider setMaximumTrackTintColor:[UIColor clearColor]];
CGRect rRect = tempSlider.frame;
rRect.origin.x = rRect.origin.x + 20;
tempSlider.frame = rRect;
UIImage *pMaxTrackImage;
UIImage *pMinTrackImage;
UIImage *pThumbImage;
pMaxTrackImage = [[UIImage imageNamed:@"pgbar_sound_fill_ipad"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 6, 0, 6)];
pMinTrackImage = [[UIImage imageNamed:@"pgbar_sound_bg_ipad"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 6, 0, 6)];
pThumbImage = [UIImage imageNamed:@"pgbar_sound_thumb_ipad"];
[tempSlider setMaximumTrackImage:pMaxTrackImage forState:UIControlStateNormal];
[tempSlider setMinimumTrackImage:pMinTrackImage forState:UIControlStateNormal];
[tempSlider setThumbImage:pThumbImage forState:UIControlStateNormal];
}
}
volumeView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin;
[self._bottomBar addSubview:volumeView];
}
在iPod中运行应用程序时,音量工作正常,但在iPhone和iPad中无效。
我测试的设备是iPod5和iPhone5C。 我测试的操作系统是iOS6和iOS7。
我已经尝试了几乎所有可用的帮助,没有一个对我有效。 请提供一些建议/指导。
谢谢,
Nikhil.T
答案 0 :(得分:1)
您需要设置这些值setMinimumTrackImage
,setMaximumTrackImage
,setThumbImage
for (UIView *sv in [volumeSlider subviews])
{
if ([sv isKindOfClass:[UISlider class]])
{
UISlider *slider = (UISlider*) sv;
[slider setMinimumTrackImage:yourImage forState:UIControlStateNormal];
[slider setMaximumTrackImage:yourImage forState:UIControlStateNormal];
[slider setThumbImage:yourImage forState:UIControlStateNormal];
}
}
答案 1 :(得分:0)
我不知道为什么它不适用于iPad和iPhone。但我认为设置左轨道和右轨道图像的正确方法是使用以下方法。
现在我在我的代码中使用以下方法,希望这有助于某人
MPVolumeView * pVolumeView = [[MPVolumeView alloc] initWithFrame:myFrame];
[volumeView setMaximumVolumeSliderImage:myImage forState:UIControlStateNormal]; [volumeView setMinimumVolumeSliderImage:myImage forState:UIControlStateNormal];
[volumeView setVolumeThumbImage:thumbImage forState:UIControlStateNormal];