Nasıl ses sistemi yerleşimi MPVolumeView kullandıktan sonra geri kapatırım?
Yerel olmayan bir ses biçimi için ses çalar inşa ediyorum. Uygulamanın hiyerarşi iPod dayanmaktadır.app. UITableView
bir dizi MPVolumeView
bir kullanıcı ses seviyesini değiştirmek için izin vermek için kullandığı'nin birUIView
(TrackView
) ekran. İlk kez kadar TrackView
görünür ses düğmeleri beklendiği gibi sistem ses bindirme görüntüler donanımı kullanarak (ve istenen) değişken olur. TrackView
görünür olduğunda bu donanım düğmeleri (istenen) ile ses seviyesini değiştirme MPVolumeView
güncelleştirmeleri beri görünmüyor bindirmeleri.
Sorun şu: TrackView
seni geri sonra system volume kaplama donanım ses düğmelerini kullanırken görünmüyor. Program aracılığıyla allocing ve TrackViewController viewWillAppear:
10 *oluşturma ve ekleme ve daha sonra serbest bırakmak ve nil-ıng TrackViewController viewWillDisappear:
12 *aynı kaldırma denedim.
Bu iPod olmaz.app. Bir zamanlar MPVolumeView
bir sistem birimi içeren görünümü yedekleme donanım ses düğmelerini kullanarak ekran bindirmeleri.
Neyi kaçırıyorum?
Güncelleme 2:Bu bir ara sonra tanıttı iOS 3.2 ve 4.2 sabit olduğunu MPVolumeView bir hata gibi görünüyor.
Güncelleme:Varsayılan basit bir azalma pencere tabanlı bir uygulama olan proje, aynı davranışı sergiler yaptım. Bir MPVolumeView görünür hale geldiğinde hacim kaplamaları sistem hiçbir zaman uygulama tekrar görülür.
VolumeAppDelegate.h:
#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>
@interface VolumeAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
IBOutlet UIView *volumeView;
IBOutlet MPVolumeView *mpVolumeView;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
-(IBAction)toggleVolumeView:(id)sender;
@end
VolumeAppDelegate.m:
#import "VolumeAppDelegate.h"
@implementation VolumeAppDelegate
@synthesize window;
-(IBAction)toggleVolumeView:(id)sender{
if (mpVolumeView == nil){
mpVolumeView = [[MPVolumeView alloc] initWithFrame:volumeView.bounds];
[volumeView addSubview:mpVolumeView];
}
else{
[mpVolumeView removeFromSuperview];
[mpVolumeView release];
mpVolumeView = nil;
}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window makeKeyAndVisible];
mpVolumeView = nil;
return YES;
}
- (void)dealloc {
[window release];
[super dealloc];
}
@end
Böyle büyük mükafat proje için * çerçeve Ekle ve ana pencere açmak gerekir.Interface builder içinde xib bu UİView ve UİButton İBOutlets ekleyin ve UİButton için İBAction kargaburun.
CEVAP
Bu ne yazık ki iOS önceki sürümlerinde özel çerçevesi ile ilgili bir sorun.
Ben dileğin bunun için bir çözüm yapmak için anlamak, ama kodunuzu özel çerçeve işlemek için, app onay geçmek mümkün hale neden olur.
Neyse ki, bu hata vardı bu sürüm süresi kısadır, ve bu sürüm ile dolaşımda cihazların sayısı her geçen dakika daha ince büyüyor.
Nasıl 'yeniden' ''...
Nasıl bir geri al `git commit` yerel v...
Tüm sonra, doğru geri Parçaları örnek ...
Nasıl bir javascript geri arama güncel...
Nasıl formu gönderdikten sonra bir Wor...