Mon application dispose d'une barre d'outils avec des boutons d'image sur eux (sous-classe d'Uibutton); Lorsque l'utilisateur passe sur l'option d'accessibilité "en caractères gras", non seulement le texte devient en gras, mais les images suivent la poursuite.
Ceci est la barre d'outils en mode normal: P>
p>
lorsque le" texte en gras "est activé: p>
p>
Il semble être causé par ma sous-classe Uibutton, qui est incluse ci-dessous. J'utilise cette classe pour appliquer une couleur de teinte d'image lorsque le bouton est cliqué, désactivé, etc. et empêche de devoir inclure plusieurs états de chaque bouton. Pour cela, j'utilise le J'ai essayé de décocher l'option" Accessibilité "dans le constructeur d'interface , mais cela n'avait aucun effet du tout. Existe-t-il un moyen de résoudre ce problème? P> uiimagerinteringMoDealwayPlapper code> qui auraient expose ce comportement observé. p>
4 Réponses :
Je vous recommande d'utiliser une catégorie personnalisée pour teinter vos boutons d'image. Voici une implémentation simple qui ne fait que:
uiImage + Tintimage.m Strong> p> pour l'utiliser, il suffit d'importer "uiimage + teintimage.h" code>, alors procédez comme suit: p>
UIImage *originalImage = [UIImage imageNamed:@"icn-menu"];
UIImage *tintedImage = [originalImage imageTintedWithColor:[UIColor blueColor]];
UIButton *homeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[homeButton setImage:originalImage forState:UIControlStateNormal];
[homeButton setImage:tintedImage forState:UIControlStateHighlighted];
@Jack Avez-vous eu le temps de l'essayer ou avez-vous résolu votre problème?
Merci! Cela m'a assez aidé à résoudre tout mon problème assez facilement; Le bonus est à vous :)
Quelle est la solution à Swift Plz? Mon code est: var image = uiimage (nommé: "home") comme uiimage? Image = image?
Merci à La réponse de Rufel J'ai pu résoudre mon problème et réduire le code de ma classe en même temps:
Ceci est une version Swift 3 de RUFEL Réponse,
extension UIImage { static func imageTinted(image: UIImage?, color: UIColor) -> UIImage? { let rect = CGRect(x: 0.0, y: 0.0, width: image?.size.width ?? 0.0, height: image?.size.height ?? 0.0) UIGraphicsBeginImageContextWithOptions(image?.size ?? CGSize.zero, false, image?.scale ?? 2.0) color.set() UIRectFill(rect) image?.draw(in: rect, blendMode: CGBlendMode.destinationIn, alpha: 1.0) let tinted = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext(); return tinted; } }
SET Transformez la couleur de l'image Avec cette fonction: p> Définissez l'image transformée sur le bouton let redImage = image.transform(withNewColor: UIColor.red)
btn?.setImage(redImage, for: .selected)
Pouvez-vous renvoyer @kirby TODD réponse pour appliquer une couleur de teinte au lieu de par défaut que vous utilisez avec RenderingModealwaywayPlayPlated. Stackoverflow.com/Questtions/19829356/Color-Tint-uibutton-ima ge
Quelle fonctionnalité étrange! Il suffit de courir dans ce numéro dans mon application. Est-ce documenté n'importe où !?