Accéder au contenu principal

Articles

Affichage des articles du 2021

UISwitch dans un UITableViewCell

Je construis des formulaire dans des UITable, chaque UITableViewCell peut donc contenir des UILabel, UISwitch, UIButton, etc. Je partage le code entre plusieurs application, mais j'ai eu un bug dans l'une d'elles que je n'avais pas dans les autres. Les gadgets interactifs ne fonctionnaient pas... En fait, j'avais construit mes UITableViewCell avec du code comme celui-ci : -( instancetype ) initWithStyle :( UITableViewCellStyle )style reuseIdentifier :( NSString *)reuseIdentifier {     self = [ super initWithStyle :style reuseIdentifier :reuseIdentifier];     self . backgroundColor = [ UIColor clearColor ];     _uiLabel = [ UILabel new ];     _uiLabel . frame = CGRectMake ( 8 , 4 , self . frame . size . width - 51 - 24 , self . frame . size . height - 8 );     _uiLabel . translatesAutoresizingMaskIntoConstraints = NO ;     _uiLabel . textAlignment = NSTextAlignmentLeft ;     _uiLabel . lineBreakMode = NSLineBreakByWordWrapping ;     _uiLabel . adjustsFontS

Boutons invisibles avec UIDocumentInteractionController

Les boutons OK et Export peuvent être invisibles dans un UIDocumentInteractionController. Il s'agit en fait de la couleur "tint" qui n'est pas fixée dans UINavigationBar. On fixe aussi le window.backgroundColor pour que la barre au dessus de l'application est bien un fond.      if ( @available (iOS 11.0 , *)) {         if ( @available (iOS 13.0 , *)) {             self . window . backgroundColor =                                                   UIColor . systemBackgroundColor ;             UINavigationBar . appearance . tintColor =                                               UIColor . linkColor ;         } else {             self . window . backgroundColor  =                                               UIColor . whiteColor ;             UINavigationBar . appearance . tintColor =                                               UIColor . systemBlueColor ;         }     } Les ligne d'Objective-C ci-dessus règlent le problème et sont à mettre directement