UISegmentedControl échelle de l'image
Comment puis-je réduire les images utilisées dans un UISegmentedControl
? Je suis de la création de la segmentation de contrôle du programme:
UISegmentedControl * segmentButton;
segmentButton = [UISegmentedControl segmentedControlWithItems:
[NSArray arrayWithObjects:
[UIImage imageNamed:@"option_one.png"],
[UIImage imageNamed:@"option_two.png"],
nil]];
segmentButton.contentMode = UIViewContentModeScaleToFill;
segmentButton.frame = CGRectMake(10, 10, 200, 32);
[view addSubview:segmentButton];
Le résultat n'est pas ce que j'attends. L'original .les images png sont environ 100 pixels de haut, et ils sont pas réduite pour s'adapter aux 32 pixels hauteur de la segmentation de contrôle. Il en résulte une segmentation de contrôle en cours d'élaboration avec d'énormes images qui se chevauchent:
Comment puis-je savoir le contrôle à l'échelle en bas de ces images?
OriginalL'auteur e.James | 2011-02-04
Vous devez vous connecter pour publier un commentaire.
Vous ne devez jamais utiliser un "gros" de l'image pour afficher uniquement un petit picto. L'image complète sera chargé en mémoire, et seulement 10% de ses pixels seront affichées, de sorte que vous allez utiliser beaucoup de mémoire pour rien.
Ce que vous pouvez faire si vous voulez vraiment utiliser cette ressource est de créer une vignette avec le code avant, et d'utiliser cette nouvelle vignette générée.
La méthode suivante renvoie une nouvelle image, vous pouvez utiliser dans votre UISegmentedControl, et vous pouvez relâcher le grand.
Avec votre code:
Du sens. Merci!!!!
segmentButton = [[[UISegmentedControl alloc] initWithItems:les images] autorelease];
OriginalL'auteur Ludovic Landry
Dans swift3,
OriginalL'auteur Changnam Hong