Wie man die Größe eines UINavigationController im iPhone?
Habe ich eine Anwendung mit UINavigationController und es erscheint gut jetzt möchte ich die Größe der NavigationController auf eine kleinere Größe. Wie kann ich es tun?
Können Sie die Größe oder verschieben Sie die UINavigatorController, wenn Sie hinzufügen, indem Sie code...
-(void)viewDidLoad
{[super viewDidLoad];
myview_view =[[[MyCustomView alloc] init]autorelease];ControlNav=[[UINavigationController alloc] initWithRootViewController:myview_view];//Init the UINavigatorControllerControlNav.navigationBarHidden = YES;//Hide the navigation barControlNav.view.frame =CGRectMake(50,50,665,370);//Move and resize the UINavigator Controller[self.view addSubview:ControlNav.view];//Add subview}
MyCustomView ist ein UIViewController;
Eigentlich nur ändert das Bild der aktuellen Ansicht (myview_view in deinem Beispiel). So bald, wie Sie schieben anderen den Rahmen bekommt zurücksetzen auf die volle Bildschirmgröße.
Entsprechend der UINavigationController Dokumentation, die nur die Optionen, die Sie haben, das Aussehen zu verändern sind die barStyle und die translucent Eigenschaften;
Mit nur wenigen Ausnahmen, Sie sollten
ändern Sie niemals die navigation bar object
direkt. Es ist erlaubt, sich zu ändern
die barStyle oder transluzenten Eigenschaften
der Navigationsleiste, aber Sie müssen
ändern Sie nie den Rahmen, Grenzen, oder
alpha-Werte direkt. Darüber hinaus
der navigation-controller-Objekt
erstellt die Inhalte des Navigations -
bar dynamisch über die navigation
Objekte (Instanzen der
UINavigationItem Klasse) zugeordnet
mit den view-Controller auf den
navigation stack. Zum ändern der
Inhalt der Navigationsleiste können Sie
deshalb müssen konfigurieren die
Navigations-Elemente für Ihre benutzerdefinierte Ansicht
Controller. Für mehr Informationen
über die Navigationspunkte finden Sie unter
UINavigationItem Klasse Referenz.
Danke für die Antwort. Ich habe auch einen UITabbarController, kann ich die Größe, die atleast. Wenn dem so ist, wie es zu tun?
UITabbarController folgt den gleichen Einschränkungen. Es sei denn, Sie erstellen eine benutzerdefinierte bar-controller, können Sie nur angeben, den Farbton oder die Transparenz dieser beiden Steuerelemente. Es ist vor allem für UI-Konsistenz-Gründen.
Sie sollten nicht versuchen zu ändern, standardisierte interface-Elemente. Dabei wird nur den Benutzer verwirren. Verkleinern Sie ein element macht es schwieriger, zu verwenden. Ich kann kaum auf einige UI-Elemente, wie es ist. Wenn Sie denken, Sie brauchen, um die Größe der UI-Elemente die UI-design ist wahrscheinlich überfüllt und Sie brauchen, um eine bestimmte Funktion zu einer anderen Ansicht.
Ok, ich down-gevotet und meine Meinung geändert, aber es ist gesperrt. Sorry.
Das ist Mist! Ich kann kommen mit einer Reihe von Möglichkeiten zu ändern, standardisierte interface-Elemente ohne zu verwirren die Benutzer. In einigen der best bewerteten apps die so genannte standardisierte Elemente wurde komplett neu geschrieben. Die Apple User Interface Guidelines nicht sagen, nichts darüber, dass du den stick auf standardisierte Elemente. Nur Allgemeine usability-überlegungen. - Wenn Sie es nicht wissen, nicht ay er.
Nur weil Sie können bedeutet nicht, sollten Sie und sagte ich sollte nicht. Benutzer sollten nicht zahlen Aufmerksamkeit auf die Benutzeroberfläche und sollten nicht zu denken, es zu benutzen. Ändern Sie den logischen und räumlichen Beziehungen zwingt den Benutzer zum nachdenken über die Benutzeroberfläche.
Ich denke, Sie täuschen sich selbst, dass Sie persönlich ändern können, die UI wesentlich, ohne dass der Benutzer darüber denken. Ich bezweifele sehr, dass Sie getestet habe, die Behauptung empirisch belegen. Auch wenn Sie persönlich kann nur zücken eine fantastische Benutzeroberfläche ändern, das bedeutet nicht, dass die überwiegende Mehrheit der Entwickler, insbesondere unerfahrene Entwickler können das tun. Daher mein Rat, um zu vermeiden, dass änderungen der Benutzeroberfläche steht immer noch.
WICHTIG: diese Idee Klang toll und schien zu funktionieren in der Theorie, aber das iAd-framework erlaubt nicht das hinzufügen eines AdBannerView direkt an das UIWindow. <<<<<
Können Sie die Größe eines UINavigationController aber Sie kann nicht bewegen Sie den oberen oder unteren Symbolleiste.
Hier ist ein Beispiel der Herstellung einer AdBanner unter Ihrem UINavigationController aber oben ist es unten in der Symbolleiste. Diese AdBanner wird stationär bleiben in Ihrem Blick-es wird nicht animiert, mit UIViewController push und pop Aktionen.
1) ändern Sie die Größe Ihrer UINavigationController im app-delegate:
2) Manuell die Größe des ViewControllers hinzufügen, um eine Lücke unten. Ein guter Ort, dies zu tun ist in der viewDidLoad-Methode:
self.view.frame =CGRectMake(0,0,320,322);
3) Fügen Sie Ihre AdBannerView direkt auf das Fenster der Anwendung (denken Sie daran es ist nur ein weiterer UIView). Also die AdBanner gehen würde, über die Symbolleiste, sondern unten sichtbare view-Controller.
Können Sie die Größe oder verschieben Sie die UINavigatorController, wenn Sie hinzufügen, indem Sie code...
MyCustomView ist ein UIViewController;
Können Sie nicht.
Entsprechend der UINavigationController Dokumentation, die nur die Optionen, die Sie haben, das Aussehen zu verändern sind die barStyle und die translucent Eigenschaften;
WICHTIG: diese Idee Klang toll und schien zu funktionieren in der Theorie, aber das iAd-framework erlaubt nicht das hinzufügen eines AdBannerView direkt an das UIWindow. <<<<<
Können Sie die Größe eines UINavigationController aber Sie kann nicht bewegen Sie den oberen oder unteren Symbolleiste.
Hier ist ein Beispiel der Herstellung einer AdBanner unter Ihrem UINavigationController aber oben ist es unten in der Symbolleiste. Diese AdBanner wird stationär bleiben in Ihrem Blick-es wird nicht animiert, mit UIViewController push und pop Aktionen.
1) ändern Sie die Größe Ihrer UINavigationController im app-delegate:
2) Manuell die Größe des ViewControllers hinzufügen, um eine Lücke unten. Ein guter Ort, dies zu tun ist in der viewDidLoad-Methode:
3) Fügen Sie Ihre AdBannerView direkt auf das Fenster der Anwendung (denken Sie daran es ist nur ein weiterer UIView). Also die AdBanner gehen würde, über die Symbolleiste, sondern unten sichtbare view-Controller.
Es sieht wie folgt aus: