2010-02-16 14 views

risposta

9
  1. Passare a iPhone Interface Guidelines Page.

  2. Sotto "Pulsanti standard per l'utilizzo in righe tabella e altri elementi dell'interfaccia utente" Copiare il pulsante ContactAdd (l'ho salvato come ContactAdd.png qui). Aggiungilo al tuo progetto

  3. Nella cellForRowAtIndexPath: (NSIndexPath *) Metodo indexPath add:

    UIImage *image = [UIImage imageNamed:@"ContactAdd.png"]; 
    
    
    
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    //You can also Use: 
    //UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
    
    CGRect frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height); 
    
    //match the button's size with the image size 
    button.frame = frame; 
    
    [button setBackgroundImage:image forState:UIControlStateNormal]; 
    
    // set the button's target to this table view controller so you can open the next view 
    [button addTarget:self action:@selector(yourFunctionToNextView:) forControlEvents:UIControlEventTouchUpInside]; 
    
    button.backgroundColor = [UIColor clearColor]; 
    
    cell.accessoryView = button; 
    
+12

* NOTA: Invece di copiare e aggiungere, è anche possibile utilizzare: [Pulsante UIButtonWithType: UIButtonTypeContactAdd]; invece di UIButtonTypeCustom. – erastusnjuki

+1

la parte difficile con fare uno di questi è passare i parametri a yourFunctionToNextView: per sapere quale riga è stata premuta. questo può essere fatto facilmente con button.tag = row; ma se hai sezioni nella tua tabella un singolo int non è abbastanza buono. È necessario passare indexPath. Ho trovato questo metodo qui per fare una cosa del genere. http://stackoverflow.com/questions/5500327/subclass-uibutton-to-add-a-property – roocell

+0

Sì, passare il parametro è la parte difficile. Il tuo collegamento è quasi completo, tranne che non ti dice come passare la proprietà che aggiungi alla classe UIButton. Solo per completare quel pensiero, il parametro viene passato solo se si include ":" dopo "yourFunctionToNextView:" nel selettore. Quindi l'esempio sopra sarebbe esteso con button.property = indexPath. Quindi, la definizione del selettore sarebbe: - (void) yourFunctionToNextView: (UIButton *) sender {}. Quindi, all'interno di questo metodo, puoi usare qualcosa come NSIndexPath * indexPath = sender.property; dove property è indexPath. – JeffB6688

27

Se si dispone di una barra di navigazione si dovrebbe aggiungere un UIBarButtonItem come questo:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc]  
    initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
    target:self action:@selector(addButtonPressed:)]; 
self.navigationItem.rightBarButtonItem = addButton; 
+0

Grazie. Mi ha aiutato. In eccesso per te – DrinkJavaCodeJava

2

Per Swift

Problemi correlati