gpt4 book ai didi

iphone - 如何自定义MPVolumeView?

转载 作者:行者123 更新时间:2023-12-03 18:20:16 25 4
gpt4 key购买 nike

我尝试了很多方法来实现常规UISlider并控制设备音量,但都是 Native-C 功能,导致许多无法追踪的 bug。

我尝试了 MPVolumeView它就像魅力一样,甚至在您关闭应用程序后也可以控制设备音量,就像 iPod 应用程序一样。

我的问题是,是否有办法自定义 MPVolumeView具有特定的颜色和图像,就像 UISlider

注意:我想要一种合法的方法,而不使用私有(private)的未记录的 API。

更新
根据 @Alexander Akers 的回答,由于 subview 隐藏在 MPVolumeView 中我必须循环浏览 subview ,获取 UISlider并自定义它,这是代码。

IBOutlet UISlider *volumeSlider;   //defined in <class.h> and connected to a UISlider in Interface Builder

-(void) viewDidLoad {
....
[self setCustomSlider];
....
}

-(void) setCustomSlider{
MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame:[volumeSlider frame]] autorelease];
NSArray *tempArray = volumeView.subviews;

for (id current in tempArray){
if ([current isKindOfClass:[UISlider class]]){
UISlider *tempSlider = (UISlider *) current;
UIImage *img = [UIImage imageNamed:@"trackImage.png"];
img = [img stretchableImageWithLeftCapWidth:5.0 topCapHeight:0];
[tempSlider setMinimumTrackImage:img forState:UIControlStateNormal];

[tempSlider setThumbImage:[UIImage imageNamed:@"thumbImage.png"] forState:UIControlStateNormal];

}
}
[volumeSlider removeFromSuperview];
[self.view addSubview:volumeView];
}

最佳答案

您可以尝试循环遍历其 subview 并查找 UISlider 子类?

关于iphone - 如何自定义MPVolumeView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com