6 Stimmen

Wie ändert man den Offenlegungsstil, wenn der Benutzer in den Bearbeitungsmodus einer UITableView eintritt?

Ich habe eine UITableView, die im "normalen" Modus, zeigen eine UITableViewCellAccessoryDisclosureIndicator bedeutet, wenn der Benutzer die Zeile tippt, eine andere Liste angezeigt wird, wie HIG sagt:

" Indikator für die Offenlegung . Wenn dieses Element vorhanden ist, wissen die Benutzer, dass sie auf eine beliebige Stelle in der Reihe tippen können, um die nächste Ebene in der Hierarchie oder die Auswahlmöglichkeiten, die mit dem Listenelement verbunden sind. Verwenden Sie einen Offenlegungsindikator in einer Zeile wenn die Auswahl der Zeile zur Anzeige Anzeige einer anderen Liste führt. Verwenden Sie keinen Offenlegungsindikator zur Offenlegung von detaillierte Informationen über die Liste Listenelement anzuzeigen; verwenden Sie stattdessen eine Detailanzeige Schaltfläche für diesen Zweck. "

Wenn der Benutzer auf die Schaltfläche "Bearbeiten" in der oberen Leiste der UITableView tippt, denke ich, dass ich die Offenlegung ändern muss, denn wenn der Benutzer darauf tippt, wird eine Ansicht zum Ändern der Informationen der aktuellen Zeile angezeigt (siehe die fette Zeile oben), wiederum wie HIG sagt:

" Schaltfläche "Detaillierte Offenlegung . Benutzer tippen dieses Element, um detaillierte Informationen Informationen über das Listenelement anzuzeigen. (Beachten Sie dass Sie dieses Element auch in anderen Ansichten als Tabellenansichten verwenden können, um zusätzliche Details über etwas zu zeigen; siehe "Detailanzeige-Schaltflächen" für mehr Informationen.)

Verwenden Sie in einer Tabellenansicht eine Detail Schaltfläche in einer Zeile zur Anzeige von Details über das Listenelement anzuzeigen. Beachten Sie, dass die Schaltfläche für die Detailanzeige im Gegensatz zum Offenlegungsindikator, eine Aktion ausführen kann eine Aktion ausführen kann, die unabhängig von der Auswahl der Zeile getrennt ist. Zum Beispiel können Sie in Telefon-Favoriten, das Antippen der Zeile einen Anruf an den Kontakt ein; Tippen auf die Schaltfläche für die Detailanzeige in der Zeile werden weitere Informationen angezeigt über den Kontakt."

Habe ich die HIG falsch verstanden, oder muss ich wirklich den Offenlegungsstil im Bearbeitungsmodus von UITableView ändern? Wenn ja, wie kann ich den Bearbeitungsmodus unterbrechen, wenn der Benutzer auf die Schaltfläche "Bearbeiten" tippt?

Vielen Dank im Voraus.

20voto

kharrison Punkte 3382

Müssen Sie den Offenlegungsindikator nicht manuell ändern, wenn der Benutzer in den Bearbeitungsmodus ein- und ausschaltet. Sie können steuern, was im Bearbeitungsmodus angezeigt wird, indem Sie die Eigenschaft "editingAccessoryType" für die Tabellenzelle festlegen. Normalerweise würden Sie das in der tableView:cellForRowAtIndexPath-Methode zusammen mit der Eigenschaft "accessoryType" einrichten, die den Offenlegungsindikator für den normalen (nicht bearbeitenden) Zustand festlegt.

Aus dem Programmierhandbuch der Tabellenansicht:

  • accessoryType und accessoryView - Ermöglicht es Ihnen, eine der Standard-Zubehöransichten (Offenlegungsindikator oder Detail-Offenlegungssteuerelement) oder eine benutzerdefinierte Zubehöransicht für eine Zelle im normalen (nicht bearbeitenden) Modus festzulegen. Für eine benutzerdefinierte Ansicht können Sie ein beliebiges UIView-Objekt angeben, z. B. einen Schieberegler, einen Schalter oder eine benutzerdefinierte Ansicht.

  • editingAccessoryType und editingAccessoryView - Ermöglicht es Ihnen, eine der Standard-Zubehöransichten (Offenlegungsindikator oder Detail-Offenlegungssteuerung) oder eine benutzerdefinierte Zubehöransicht für eine Zelle im Bearbeitungsmodus festzulegen. Für eine benutzerdefinierte Ansicht können Sie ein beliebiges UIView-Objekt angeben, z. B. einen Schieberegler, einen Schalter oder eine benutzerdefinierte Ansicht. (Diese Eigenschaften wurden in iPhone OS 3.0 eingeführt).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X