Ich verwende TabStrip für ein Projekt von mir. Der Tabstrip hat TTTabItems, die das Alphabet A-Z sind. Wenn ich auf jeden Buchstaben des Alphabets klicke, navigiert der Delegierte zu einer anderen Seite.Three20 TabStrip
In der anderen Seite gibt es auch einen TTTabstrip (gleiche Konstruktion, Rahmen usw.). Wie kann ich das Alphabet auch auf der zweiten Registerkarte markieren, ohne das Ereignis auszulösen?
Ich habe versucht, den ganzzahligen Wert des Briefes den ganzzahligen Wert von „a“ mod zu bekommen (so dass es einen Index bringt mir wird) und weisen es selectedIndex:
unichar letter = [[NSString stringWithString:@"e"] characterAtIndex:0];
/*(k is @"a" unichar)*/
tabBar.selectedTabIndex = letter % kEnglishAlpha;
Aber es gibt mir Deallokation Error.
** UPDATE **
auf der Drill-Down-Detailansicht (wo ich habe das Problem) ich in den Kommentaren erwähnt habe ich die folgenden von einer tt Navigation kommen:
tt://listWords/Cat
auf die view did load event, und nach der Initialisierung des TTTabStrip (der nur TTTabItem mit den Buchstaben AZ enthält) und der tabBar.delegate = self-Deklaration verwende ich den oberen Code, um den gewählten Buchstaben auszuwählen. Der Rest der Ansicht zeigt die Definition und alles, was damit zusammenhängt. Normalerweise würde das der Fall sein, aber wenn ich die Zurück-Taste benutze, um zu der Ansicht zurückzukehren, die die tttableItems (cat, catsup, catnip usw.) hat, sagt sie den zugewiesenen Controller.
Meine Vermutung ist, dass die Verwendung des Tabselected-Delegations-Code und das Setzen eines Tabindex, den Tab ausgewählten Code sofort auslöst und das ist, wo das Problem liegt. Wenn ich den selectedTabIndex-Code nicht verwende, kann ich ohne Probleme durch die Buchstaben navigieren.
Danke für diesen, aber wird der selectedTabIndex das tabselected Ereignis auslösen? Weil das mein Problem ist, wird es ausgelöst und irgendwie hebt es den gesamten Controller auf. Meine App ist ein Drilldown mit Tabstrip. Ich habe den ersten Viewcontroller (Suche & Tab) jemand drückt das Element, dann das Element auf dem zweiten Viewcontroller präsentiert die Daten und ein dritter Viewcontroller präsentiert die Details. Auf dem zweiten Viewcontroller habe ich zwar den Buchstaben ausgewählt, aber auf dem dritten, wenn ich den Buchstaben wähle (programmatisch, um ihn zum Beispiel auf dem Buchstaben C zu zeigen), tut er das Dealloc. – Panagiotis
Entschuldigung, ich dachte du meinst etwas anderes. Kannst du den Code des Controllers posten? – aporat