objective-c - open - swift logo




In iOS 8, come aggiungere pulsanti di azione riga sul lato sinistro di UITableViewCell (2)

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]{

    let ackAction:UITableViewRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Himanshu", handler: myFunction)
    ackAction.backgroundColor = UIColor.orangeColor()

    return [ackAction]
}

modifica: rientro codice fisso

Apple mostra queste immagini sulla loro pagina di prodotto per iOS 8. Mi interessa aggiungere pulsanti sul lato sinistro di una riga della tabella come mostrato nella prima immagine. È un'API pubblica? Si noti che sono già a conoscenza del metodo delegate per l'aggiunta di pulsanti sul lato destro. Ho guardato attraverso i video di sessione WWDC e la documentazione senza alcun risultato.

Grazie in anticipo.

Pic: pulsanti a sinistra

Pic: pulsanti a destra


È un'API pubblica a un punto in iOS8, come spiegato nelle risposte qui Swipe to Delete e il pulsante "Altro" (come nell'app Mail su iOS 7)

Ci sono anche diverse implementazioni già su Github, come questa di MortimerGoro (parte della risposta sopra).

Se vuoi farlo da solo, puoi utilizzare un UISCrollView personalizzato o aggiungere sottoview al contenuto della tua cella. Aggiungi rilevatori di gesti appropriati per gestire le diverse direzioni di scorrimento. In sostanza, si riposizionano le sottoview dei pulsanti con valori negativi all'avanzamento del gesto, il che dà l'impressione di scoprire pulsanti statici. In realtà, tutto si muove, solo in direzioni opposte.

Ray Wenderlich.com ha un tutorial molto approfondito su come ricreare l'effetto. È anche un approccio con i pulsanti a destra, ma i concetti sono identici: basta scambiare la direzione del gesto di scorrimento e dove si posizionano le sottoview dei pulsanti.





ios8