2014-03-14 3 views

Antwort

-1

Eine Möglichkeit, dies zu tun, ist UINavigationItem.titleView und UINavigationItem.rightBarButtonItem zu verwenden. Wie folgt aus:

viewController.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]]; 
UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage2.jpg"]]];  
viewController.navigationItem.rightBarButtonItem = item;  

Hier bin ich mit UIImageView als benutzerdefinierte Ansicht, aber es kann UIButton mit benutzerdefinierten Bild sein.

Eine andere Möglichkeit, die ich Ihnen vorschlagen, ist, dass es ohne eine Viewcontroller mit

// Create your image 
UIImage *image = [UIImage imageNamed: @"logo.png"]; 
UIImageView *imageview = [[UIImageView alloc] initWithImage: image]; 

// set the text view to the image view 
self.navigationItem.titleView = imageview; 

Hoffentlich diese Informationen werden Ihnen hilft. Cheers :)

+1

Das gerade ist zu erklären, wie die Titleview eines einzelnen View-Controller einzustellen, was die OP sagt, sie sind bereits tun und mag das Ergebnis nicht, es befasst sich nicht mit der eigentlichen Frage. – Marcus

0

Wenn Sie einen Navigationspunkt Titelansicht zeigen wollen - für alle gleich geschoben View-Controller

  • einen Viewcontroller als parent Stellen und alle anderen Viewcontroller als das Kind, dass .then was auch immer entwerfen Sie werden in ParentVC tun, wird es in Child VC widerspiegeln.

Unten ist das Beispiel. In AppDelegate Klasse,

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[[WARootViewController alloc]init]]; 
self.window.rootViewController = nav; 

Im Viewcontroller, Stellen Sie den Imageview-Rahmen (optional, können Sie Ihren Wunsch geben) und Bildname (erwähnen die Erweiterung, wenn LOGOIMAGE NULL-Speicher geben).

UIImage *logoImage = [UIImage imageNamed:@"navigation-bar-logo.jpg"]; 
UIImageView *titleLogo = [[UIImageView alloc] initWithImage:logoImage]; 
titleLogo.frame = CGRectMake(0, 0, 50, 30); 
self.navigationItem.titleView = titleLogo; 
  • Make Der Rest des Viewcontrollers als Kind von WARootViewControllers

    #import "WARootViewController.h" 
    @interface WAFirstViewController : WARootViewController 
    
    #import "WARootViewController.h" 
    @interface WASecondViewController : WARootViewController 
    
+0

Dies sind keine übergeordneten/untergeordneten Ansichtscontroller, sie sind Unterklassen. Dies ist ein wichtiger Unterschied. Dies behebt auch nicht das Problem des OP, da diese immer noch die Titelansicht jedes View-Controllers einzeln einstellen, wodurch es seltsam aussieht, wenn der neue Controller gedrückt wird. – Marcus

Verwandte Themen