Lorsque le mode de contenu UIButton est "central", l'image d'arrière-plan est pixellisée
Voici comment je suis réglage de l'image d'arrière-plan et le mode de contenu:
[btn setBackgroundImage:[UIImage imageNamed:@"dots_game_horiz_blue.png"]
forState:UIControlStateNormal];
[btn setContentMode:UIViewContentModeCenter];
Est-il une raison que l'image d'arrière-plan serait pixélisé? Le cadre est légèrement plus grand que la taille de l'image, et je veux juste que l'image soit centrée.
source d'informationauteur James Skidmore
Vous devez vous connecter pour publier un commentaire.
Je suppose que l'image d'arrière-plan n'est pas considéré comme "contenu" par le UIButton, de sorte que le mode de contenu ne s'applique pas à l'image d'arrière-plan. Au lieu de cela, j'ai mis l'image du bouton et il a très bien fonctionné:
Dans votre xib /storyboard, dans les Attributs de l'inspecteur, vous avez besoin de:
UIButton
type deCustom
Image
pasBackground
Image
pour le bienEdge
afin d'appliquer en médaillon à l'image de boutonTop, Bottom, Left, Right
l'image sera centrée à l'intérieur du bouton, avec une bordure de 5Vous pouvez voir les changements dans le xib /affichage storyboard, pas besoin de lancer un debug.
Astuce: Encart est le même pour toutes les images du bouton (
State Config
)Vous pourriez également mettre en œuvre
- (CGRect)backgroundRectForBounds:(CGRect)bounds
pour contrôler la façon dont l'arrière-plan est dessiné.La bonne solution est de changer le type de Système à la Coutume. Puis l'image d'arrière-plan aura l'honneur le type de contenu au lieu de simplement le centrage. Dans mon cas, je l'ai mis à l'Aspect de Remplir et de l'appliquer à 45 degrés d'angle de rayon à la ronde. Simple et fonctionne parfaitement.
J'avais besoin de créer arrondi boutons pour l'avatar des photos et trouvé les réponses à cette question à l'aide, mais ils n'ont pas obtenu de moi tout de la façon dont il. J'ai mis en place le
backgroundRectForBounds
méthode et mise à l'échelle l'image pour l'adapter et il fonctionne bien.J'ai le code sur GitHub.
https://github.com/brennanMKE/CircleButton
La méthode est également répertoriés ci-dessous. Il est important de définir l'arrière-plan de l'image et non l'image pour le bouton qui ne fonctionne pas avec cette méthode.