Holen Sie sich die Rahmen von UIBarButtonItem in Swift?
wie bekomme ich den Rahmen von rightbarbuttonItem in swift? Ich fand diese : UIBarButtonItem: Wie finde ich seine Rahmen? aber es sagt nicht konvertieren NSString, UIView, oder kann nicht konvertiert werden NSString String :
let str : NSString = "view" //or type String
let theView : UIView = self.navigationItem.rightBarButtonItem!.valueForKey("view")//or 'str'
Das Ziel ist, entfernen Sie die rightBarButtonItem, fügen Sie eine Bildansicht statt, und verschieben Sie es mit einem fadeOut-Effekt.
Dank
InformationsquelleAutor Paul | 2015-03-11
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie versuchen, es wie:
Bearbeiten Swift (3):
AnyObject?
zu buttonItemView es funktioniertfunktioniert nicht mit dem neuen SDK und Xcode 8.3.1 haben Sie eine alternative?
liefert ein?. Cast UIView, um es zu kompilieren.
var buttonItemSize = (buttonItemView as? UIView).size
swift3 so: lassen Sie buttonItemSize = (buttonItemView als! UIView).frame.Größe
Dies scheint kaputt zu sein in Xcode 9 beta 6 targeting von iOS-11... Ist jemand anderes zu sehen, das gleiche?
InformationsquelleAutor Christian
Müssen Sie UIBarButtonItem erstellte Objekte
customView
; UIBarButtonItem Objekte erstellt, die auf herkömmliche Weise nicht ausreichend Informationen ausgesetzt. Es ist wichtig, dass der Rahmen nachgeschlagen werden nach die Eltern UINavigationController die UINavigationBar hat sich komplett gelegt seine gesamte Untersicht Baum. Für die meisten Anwendungsfälle, die sichtbar UIViewController istviewDidAppear
ist eine ausreichend gute approximation dieser.InformationsquelleAutor Dan Stenmark
In Swift4, XCode9
versuchen, rufen Sie diese in viewDidAppear () - Methode
Sie können auch versuchen Aufruf dieser in
viewDidLayoutSubviews
, aber man sollte vorsichtig sein, zu vermeiden, fordern Sie mehr, dass es aufgerufen werden muss.InformationsquelleAutor ePing Tu