2010-02-17 3 views
0

Извините за постоянные вопросы, но в моем приложении вы можете переключать, если 3 UILabels и 1 скрытое свойство UIImageview - ДА или НЕТ через UISwitchs на другой странице (страница настроек). Странная часть состоит в том, что один из UILabels скрыт, даже когда объявлено, что он не должен быть скрыт. Вот мой код на странице настроек. Freaky UISwitch/UILabel.hidden/UIImageView.hidden Проблема!


- (IBAction)changeswitch1 { 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    if (artworkswitch.on) 
     [prefs setInteger:1 forKey:@"AWKey"]; 
    else 
     [prefs setInteger:0 forKey:@"AWKey"]; 
} 
- (IBAction)changeswitch2 { 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    if (titleswitch.on) 
     [prefs setInteger:1 forKey:@"TKey"]; 
    else 
     [prefs setInteger:0 forKey:@"TKey"]; 
} 
- (IBAction)changeswitch3 { 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    if (artistswitch.on) 
     [prefs setInteger:1 forKey:@"AKey"]; 
    else 
     [prefs setInteger:0 forKey:@"AKey"]; 
} 
- (IBAction)changeswitch4 { 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    if (volumeswitch.on) 
     [prefs setInteger:1 forKey:@"VKey"]; 
    else 
     [prefs setInteger:0 forKey:@"VKey"]; 
} 
Все это задано как «измененное значение» в IB для 4-х переключателей.

Вот код для главной страницы

if ([prefs integerForKey:@"AWKey"] == 1) 
     currentArtwork.hidden = NO; 
    else if ([prefs integerForKey:@"AWKey"] == 0) 
     currentArtwork.hidden = YES; 

    if ([prefs integerForKey:@"TKey"] == 1) 
     currentSong.hidden = NO; 
    else if ([prefs integerForKey:@"TKey"] == 0) 
     currentSong.hidden = YES; 

    if ([prefs integerForKey:@"AKey"] == 1) 
     currentArtist.hidden = NO; 
    else if ([prefs integerForKey:@"AKey"] == 0) 
     currentArtist.hidden = YES; 

    if ([prefs integerForKey:@"VKey"] == 1) 
     volumeview.hidden = NO; 
    else if ([prefs integerForKey:@"VKey"] == 0) 
     volumeview.hidden = YES; 

ответ

0

Мое решение было иметь скрытое свойство метка/ImageView в установлен в NO при первом запуске.

0

Это всего лишь предположение, так как я не знаю Рез кода. Но, может быть, он скрыт, потому что другой UILabel находится напротив него ?. Вы можете попробовать:

[self.view bringSubviewToFront:yourLabel]; 

-Oscar

+0

Нет, нет другого ярлыка перед этим ... Спасибо за быстрый ответ, хотя! – Flafla2

Смежные вопросы