Tôi đã thử nhiều phương pháp để thực hiện thường xuyên UISlider
và điều khiển âm lượng thiết bị, nhưng đó là tất cả các hàm Native-C dẫn đến nhiều lỗi không thể tháo rời.Làm thế nào để tùy chỉnh MPVolumeView?
Tôi đã thử số MPVolumeView
nó hoạt động như sự quyến rũ, thậm chí nó còn điều khiển âm lượng thiết bị ngay cả sau khi bạn đóng ứng dụng, giống như ứng dụng iPod.
Câu hỏi của tôi là, có cách nào để tùy chỉnh MPVolumeView
với màu sắc và hình ảnh cụ thể, giống như UISlider
?
LƯU Ý: Tôi muốn có phương thức pháp lý mà không sử dụng API không có giấy tờ tùy thân.
CẬP NHẬT
Theo @Alexsander Akers câu trả lời, vì quan điểm phụ được ẩn trong MPVolumeView
tôi phải chu kỳ thông qua subviews, có UISlider
và tùy chỉnh nó, đây là mã.
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];
}
Well done. Công việc tốt đẹp đang cập nhật câu hỏi của bạn. –
Chỉ vì tò mò, điều này có được chấp nhận trong App Store không? – sooper
@sooper trả lời rất muộn, xin lỗi. Thật không may, tôi đã không tiếp tục ứng dụng này và không bao giờ gửi nó đến App Store.Nhưng từ kinh nghiệm cá nhân, tôi đã thấy nhiều hướng dẫn sửa đổi các thành phần ban đầu và chúng đã được chấp nhận. – medopal