Sto tentando di implementare accessoryButtonTappedForRowWithIndexPath:
in Swift 2 su un UITableViewController
.Implementazione di AccessButtonTappedForRowWithIndexPath: in Swift 2
Come spiegato di seguito, penso che mi manchi qualcosa quando creo il disclosureIndicator
, ma non so cosa. Viene estratto dal codice, ma la mia azione target non viene chiamata. UGH!
Per eseguire questa operazione a livello di codice, è necessario aggiungere l'indicatore detailDisclosure in cellForRowAtIndexPath
prima che venga restituito il mio cell
. Sto facendo che come segue:
// Create disclosure indicator button in the cell
let disclosureIndicatorButton = UIButton(type: UIButtonType.DetailDisclosure)
disclosureIndicatorButton.addTarget(self, action: "disclosureIndicatorPressed:event:", forControlEvents: UIControlEvents.TouchUpInside)
customCell.accessoryType = .DisclosureIndicator
Nel mio codice, il detailDisclosure chevron ottiene disegnati, ma il metodo di azione di destinazione ho assegnato ad esso non viene chiamato.
poi ho bisogno di creare un gestore per il pulsante quando è premuto:
func disclosureIndicatorPressed(sender: UIButton, event: UIControlEvents) {
print("disclosure button pressed")
// convert touches to CGPoint, then determine indexPath
// if indexPath != nil, then call accessoryButtonTappedForRowWithIndexPath
}
Infine accessoryButtonTappedForRowWithIndexPath
contiene il codice per eseguire la segue, che posso fare. Cosa mi manca?
Questo era il mio problema. 'DisclosureIndicator' è solo un piacere per gli occhi, non fa altro che essere disegnato. Il 'DetailDisclosureButton' in realtà può avere azioni legate ad esso. Grazie per avermi fatto quadrato. – Adrian
Felice di averlo aiutato! Saluti :)! – Abhinav