2010-10-05 3 views
3

Je veux faire la taille de police plus petite pour le texte dans les boutons de ma feuille d'action que mon texte est plus long que la largeur.iPhone, comment puis-je réduire la taille de la police dans les boutons de la feuille d'action?

Comment puis-je faire la taille de police plus petite?

Je devine que vous pouvez ajouter des choses comme des vues de sélecteur de feuilles d'action que je besoin d'ajouter mes propres boutons à la feuille d'action, si oui, comment?

je besoin d'un exemple.

EDIT: Je l'ai fait un peu de progrès, mais le bouton réelle n'apparaît pas, mais vous pouvez le voir travailler avec le changement dans le texte du bouton lorsque vous cliquez dessus.

 UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Date Picker" 
                  delegate:self 
               cancelButtonTitle:@"Cancel" 
              destructiveButtonTitle:nil 
               otherButtonTitles:@"OK",nil];  

     CGRect frame = CGRectMake(100.0, 80.0, 100.0, 40.0); 

     UIButton *pickerView = [[UIButton alloc] initWithFrame:frame]; 

     [pickerView setTitle:@"FRED" forState:UIControlStateNormal]; 

     [pickerView setTitle:@"Go Back" forState:UIControlStateNormal]; 
     [pickerView setTitleColor:[UIColor blackColor] forState:UIControlEventTouchDown]; 
     pickerView.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 
     pickerView.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter; 
     //[removeButton addTarget:self action:@selector(buttonEvent:) forControlEvents:UIControlEventTouchDown]; 
     [pickerView setBackgroundColor:[UIColor blueColor]]; 


     [menu addSubview:pickerView]; 
     [menu showInView:self.view];   

     [pickerView release]; 
     [menu release]; 

Répondre

3

Vous pouvez être en mesure de le faire directement, mais notez que les boutons ne sont pas actionsheet UIButtons standard, mais sont leur propre sous-classe de contrôle privé spécial. Pour cette raison, lorsque j'ai besoin de personnaliser une feuille d'action, j'ajoute ma propre sous-vue personnalisée à la feuille UIAction, puis redimensionne la feuille à faire correspondre. L'inconvénient est que, pour correspondre à l'apparence, j'ai besoin d'un fond d'image bouton personnalisé. J'ai adapté (mais n'a pas vérifié dans un compilateur) cet exemple de Fitting a UIDatePicker into a UIActionSheet. Au lieu du sélecteur, il suffit d'ajouter votre UIB View créé par xib.

UIDatePicker *pickerView = [[UIDatePicker alloc] init]; 
pickerView.datePickerMode = UIDatePickerModeDate; 
[myUIActionSheet addSubview:pickerView]; 
[myUIActionSheet showInView:self.view];   
[myUIActionSheet setBounds:CGRectMake(0,0,320, myUIActionSheet.bounds.size.height + pickerView.bounds.size.height)]; 

CGRect pickerRect = pickerView.bounds; 
pickerRect.origin.y = - pickerView.bounds.size.height; //you may need to change this offset 
pickerView.bounds = pickerRect; 

[pickerView release]; 
[myUIActionSheet release]; 

EDIT: Pour inclure une sous-vue d'un xib, ajoutez un UIView au niveau supérieur de la xib et le fil à une propriété UIView dans votre contrôleur comme si elle était une composante d'interface normale. Au sein de votre contrôleur, il sera maintenant disponible.

alt text

Vous pouvez également les actions des boutons fil normalement au lieu d'utiliser la fonction de rappel de la feuille d'action. Vous aurez besoin de fermer la feuille d'action après la presse avec quelque chose comme [myUIActionSheet.dismissWithClickedButtonIndex:0 animated:YES]; Je pense que le rejeter comme si elle serait modale fonctionnera également, IIRC.

+0

Voir ma modification ci-dessus. Ajouter un xib sonne bien, pouvez-vous me donner le code pour ça? Qu'en est-il de relier les boutons et de s'assurer qu'il n'y a rien sous la plume sur la feuille d'action? – Jules

+0

J'ai trouvé ce http://stackoverflow.com/questions/2616047/how-to-display-custom-view-in-uiactionsheet mais le ActionSheetController manque – Jules

+0

Peter peut vous offrir plus d'aide? – Jules

Questions connexes