2016-04-05 27 views
0

Bir tablo görünümünde ana görünüm denetleyiciye sahip olduğum bir uygulama üzerinde çalışıyorum. Kullanıcı tablo görünümünde bir öğeye dokunduğunda, uygulama bir ayrıntı görünümü denetleyicisine yönelir. Ana görünüm denetleyicisi beyaz renkli gezinme çubuğuna sahipken, ayrıntı görünümü denetleyicisinin açık renkli bir gezinme çubuğu vardır. Sorunum, görüntü denetleyicideyken ve görünümün sol kenarlığını sürüklediğimde ve ana görüntü denetleyicisine geri dönmek için sola kaydırmaya çalıştığımda, gezinme çubuğunun beyaz renge dönmesidir. Ve eğer hareketi tamamlamam ve detay görünümü kontrolöründe kalmazsam, navigasyon çubuğu beyaz kalıyor. Bu gif durum daha iyi gösterir:Gezinme çubuğu, kullanıcı tarafından sürüklendiğinde renk tonu ayarlıyor

Yani

, nasıl görünümü sürüklemeye çalışırken beyaz renk dönüm üzerinde gezinti çubuğu önleyebilirsiniz?

GÜNCELLEME: ana görünümü denetleyicisi üzerinde: detay görünümü denetleyicisinde

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:YES]; 
    self.navigationController.navigationBar.translucent = NO; 
    self.navigationController.navigationBar.barTintColor = [UIColor whiteColor]; 
} 

: Sen viewDidAppear için viewDidLoad ve viewWillAppear size ne koymak hareket etmeliyiz

- (void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    self.navigationController.toolbarHidden = YES; 
    self.navigationController.toolbar.tintColor = [UIColor clearColor]; 
} 
- (void)viewDidLoad{ 
    [super viewDidLoad];  
    self.navigationController.navigationBar.translucent = YES; 
} 
+0

Bize bir kod gösterebilir misiniz? Gezinme çubuklarınızın rengini ne zaman ve nasıl belirlersiniz? – Randy

+0

@Randy Sadece bir kodla soruyu düzenledim. –

+1

Yaptığınız şeyi "viewDidLoad" ve "viewWillAppear" öğesinde "viewDidAppear" olarak değiştirmeyi deneyebilir misiniz? (detaylı görünüm denetleyicinizde) – Randy

cevap

1

(senin ayrıntılı olarak denetleyici görünümü)

0

Detaylı denetim denetleyicisi: ViewWillApper yöntemine kodu ekleyin.

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] 
               forBarMetrics:UIBarMetricsDefault]; 
self.navigationController.navigationBar.shadowImage = [UIImage new]; 
self.navigationController.navigationBar.translucent = YES; 
UIView *bg = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 60)]; 
bg.backgroundColor = [UIColor yellowColor]; 
[self.view addSubview:bg]; 
İlgili konular