Tôi đang xây dựng một ứng dụng cần MPVolumeView để điều khiển âm lượng. Nó hoạt động hoàn hảo trước iOS 5.1 nhưng kể từ khi bản cập nhật 5.1 hình ảnh ngón tay cái không còn được căn giữa theo chiều dọc. Tôi đã thử một vài thứ như thay đổi kích thước tưởng tượng, thay đổi kích thước quan điểm của tôi (và thanh trượt) nhưng không có gì có vẻ hiệu quả, ngón tay cái chỉ là không thẳng đứng ở giữa nữa. Cách duy nhất tôi nhận được một ngón tay cái trung tâm là nếu tôi sử dụng iOS mặc định.MPVolumeView tùy chỉnh Hình ảnh không theo chiều dọc được làm thẳng đứng từ iOS 5.1
Tôi đã thử thêm UISlider vào chế độ xem khác với hình ảnh min, max và thumb chính xác và hình ảnh đó được căn giữa.
Đây là mã cho MPVolumeView:
MPVolumeView *volumeView;
volumeView = [[[MPVolumeView alloc] initWithFrame:volumeViewHolder.bounds] autorelease];
[volumeViewHolder addSubview:volumeView];
UIView *volumeViewSlider;
for (UIView *view in [volumeView subviews])
{
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"])
{
volumeViewSlider = view;
}
}
[(UISlider *)volumeViewSlider setThumbImage:sliderHandleIcon forState:UIControlStateNormal];
[(UISlider *)volumeViewSlider setMinimumTrackImage:leftTrackImage forState:UIControlStateNormal];
[(UISlider *)volumeViewSlider setMaximumTrackImage:rightTrackImage forState:UIControlStateNormal];
volumeViewHolder chỉ là một UIView thats 153x33. Tôi đặt ngón tay cái màu xanh lục trong ảnh chụp màn hình.
Tôi gặp vấn đề tương tự, [Daniel Amitay] (http://stackoverflow.com/users/314042/daniel-amitay) đã chỉ cho tôi giải pháp: http://tibr.me/2012/07/14/ tùy biến-mpvolumeview-xuất hiện/ – murze
Đó không phải là một giải pháp tuyệt vời vì nó thay thế việc thực hiện MPVolumeSlider cho tất cả MPVolumeSlider. Điều này gây ra một bù đắp trong thanh trượt MPMoviePlayerViewController chúng tôi sử dụng để chơi phương tiện truyền thông khác. –
@murze: Đó là một hack nếu tôi từng thấy! Điều này có được chấp nhận bởi Apple không? – Nailer