Freaky UISwitch / UILabel.hidden / UIImageView.hidden problema!
-
21-09-2019 - |
Pregunta
Lo siento por las constantes preguntas, pero en mi aplicación, que son capaces de cambiar si la propiedad oculto 3 UILabels y 1 de UIImageView es SÍ o NO a través de UISwitchs en otra página (la página de configuración). Lo extraño es, uno de los UILabels es oculta, incluso cuando se declara que no es que se oculta. Aquí está mi código en la página de configuración.
- (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"];
}
All de esta se fija como la acción 'valor cambiado' en IB para los 4 interruptores.
Aquí es el código de la página principal
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;
Solución 2
Mi solución era tener propiedad oculta la etiqueta / de imageview establecido en NO en el primer lanzamiento.
Otros consejos
Esto es sólo una suposición, ya que no sé la res del código. Pero tal vez se oculta porque otro UILabel se coloca delante de ella ?. Usted puede tratar de:
[self.view bringSubviewToFront:yourLabel];
-Oscar
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow