2

ナビゲーション バーのタイトルとして UIButton (「about」情報を提供するため) を使用して、ナビゲーション ベースのアプリをセットアップしようとしています。ボタンをタイトルとして簡単に確立できますが、どこでそれを行うべきかがわからないため、永続的です(新しいviewControllerが呼び出されるたびにナビゲーションバーがスライドしません)。これが私の現在のコードです:

AppDelegate.h

    @class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) ViewController *viewController;

@end

AppDelegate.m

    #import "AppDelegate.h"
    #import "ViewController.h"
    @implementation AppDelegate

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        // Override point for customization after application launch.
        if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
            self.viewController = [[ViewController alloc]    initWithNibName:@"ViewController_iPhone" bundle:nil];
        } else {
            self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
        }
        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
        self.window.rootViewController = navController;
        [self.window makeKeyAndVisible];
        return YES;
    }

ViewController.m

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
        button.frame = CGRectMake(100, 4, 120, 36);
        [button setImage:[UIImage imageNamed:@"logo_1.png"] forState:UIControlStateNormal];
        [button addTarget:self action:@selector(about) forControlEvents:UIControlEventTouchUpInside];
        self.navigationItem.titleView = button;
        // Do any additional setup after loading the view, typically from a nib.
    }

明確にするために、「viewDidLoad」のコードは正常に機能します-開始時に設定して永遠に持続させたいだけです(実際のメソッドにシングルトンを使用しても問題ありません-再ロードしたくないだけです)。

私はサイトを掘り下げて数時間いじくり回してきましたが、これを機能させることができないようです。助けてくれてありがとう。

4

1 に答える 1