2012-05-28 10 views
6

Ho un'app per iphone e su un pulsante clic si dovrebbe aprire una vista di avviso personalizzata mostrando un segno di testo e una croce "X" nella finestra in alto a destra come abbiamo in lightbox in qualsiasi applicazione web.Come creare un UIAlertView personalizzato nell'app per iphone

+0

Volete personalizzare i pulsanti di UIAlertView? – Saad

+0

sì, voglio personalizzarli per adattarli al bordo e apparire come popview nei siti web – james

+0

, qual è il tuo bisogno non è chiaro dalla tua domanda. Se vuoi aprire una vista nel pulsante clicca con un pulsante di chiusura in alto a sinistra .Quindi non devi usare alertview.just utilizzare una vista con il tuo disegno e nasconderla quando la vista si sta caricando e nel buttonclick mostrare la vista ..questo è coool – hacker

risposta

0
- (void)willPresentAlertView:(UIAlertView *)alertView; 
- (void)didPresentAlertView:(UIAlertView *)alertView; 

in uno qualsiasi dei messaggi precedenti, controllare le sottoview e la loro classe e modificare i valori come desiderato. vedere questo codice di esempio per UIActionSheet. cerca le classi di tutti i componenti usando il log ns e personalizza la tua classe di desiderio. Questo è il codice uiactionsheet

for (UIView* view in [actionSheet subviews]) 
    { 
     NSLog(@"%@",[view class]); 
     if ([[[view class] description] isEqualToString:@"UIAlertButton"] && [view respondsToSelector:@selector(setAlpha:)]) 
     { 
      [view setAlpha:2.0]; 
      [view setOpaque:YES]; 
      if ([view respondsToSelector:@selector(title)]) 
      { 
       NSString* title = [view performSelector:@selector(title)]; 
       if ([title isEqualToString:@"Cancel"] && [view respondsToSelector:@selector(setBackgroundImage:forState:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setTitleColor:forState:)]) 
       { 

        [view setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
        [view setBackgroundImage:[UIImage imageNamed:@"btn-cancel.png"] forState:UIControlStateNormal]; 
        [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y+10, view.frame.size.width,view.frame.size.height)]; 

       } 
      } 
     } 
    } 
+0

non ho capito questo puoi spiegarmi di più – james

+0

look. ios ha livelli su ogni vista. devi cercare ogni livello sullo schermo e poi controllare la classe che ha. per esempio. un avviso ha un'etichetta, un pulsante e un pulsante ha un'etichetta ecc. quando hai trovato il tuo pulsante di classe di destinazione, allora puoi cambiare il suo comportamento – Saad

+0

dimmi se lo hai ottenuto – Saad

1

Se si desidera implementare Personalizza alert * Visualizza allora si dovrebbe questo codice di esempio che hanno avviso molto attraente Vista al collezione con l'aiuto di ViewController. Prova questo link campione Codice https://github.com/eaigner/CODialog

Problemi correlati