LayoutSubviews überschreiben zu nennen [super layoutSubviews] und dann finden und neu zu positionieren, die Schaltfläche Ansicht
Ich versuche mich neu zu positionieren und meine UIBarButtonItem
so, dass es sitzt mit seinen Kanten gegen oben und rechts von der UINavigationBar. Ich fand diese akzeptierte Antwort auf, wie dies zu tun, aber ich weiß nicht wirklich verstehen, wie, um code es.
Habe ich gestartet, durch das erstellen einer neuen Klasse namens CustomNavBar
was erbt von UINavigationBar
. Dann stellte ich diese Methode in der Umsetzung:
- (void) layoutSubviews
{
}
Was ich nicht verstehe, ist der Teil in der Antwort, dass sagt
call [super layoutSubviews] and then find and reposition the button's view.
Wie code ich das? Noch ein Schubs in die richtige Richtung wäre hilfreich. Danke!
InformationsquelleAutor Eric Brotto | 2011-11-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie die Schaltfläche, die Sie verschieben möchten nach rufen Sie
layoutSubviews
weil es neu positioniert werden, wo iOS möchte, dass Sie zu jeder ZeitlayoutSubviews
genannt wird.Können Sie eine Schleife durch die Untersichten und vergleichen, ob die aktuelle ist die, die Sie wollen, indem Sie
NSClassFromString
, wie diese zum Beispiel:Könnten Sie auch
NSLog
in der for-Schleife zu sehen, die verschiedenen Unteransichten.NSClassFromString
statt[TheClassNameYouWant class]
? Im letzteren Fall, erhalten Sie Warnungen, die nach einer Umgestaltung, die Sie nicht in den ersten Fall.[TheClassNameYouWant class]
sollte mehr performant wie gut