1

私はこの問題を解決するために夢中になっています。

AppDelegate.m 基本的に、2つのテーブルビューコントローラーにリンクするナビゲーションコントローラー+タブバーに次のコードがあります

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    ElencoSpese *elenco=[[ElencoSpese alloc] init];
    elenco.tabBarItem.title=@"Prova 123";

    ElencoSpese *elenco2=[[ElencoSpese alloc] init];
    elenco2.tabBarItem.title=@"Prova 222";

    UITabBarController *tabMenu = [[UITabBarController alloc] init];
    tabMenu.viewControllers=[NSArray arrayWithObjects:elenco, elenco2, nil];


    UINavigationController *navig=[[UINavigationController alloc] initWithRootViewController:tabMenu];
    self.window.rootViewController=navig;

    [self.window makeKeyAndVisible];

    return YES;
}

ElencoSpeseであり、TableViewController正常に動作します。このウィンドウに追加したいのは"title"「+」と"Edit"ボタンの上にNavigationBar……

tableviewcontroller の loadview メソッドで次のコメントを外そうとしました: 結果がありません

// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
self.navigationItem.rightBarButtonItem = self.editButtonItem;

私はまた、appdelegateでタイトルを設定しようとしました....何も...

4

3 に答える 3

1

このようにします..

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    ElencoSpese *elenco=[[ElencoSpese alloc] init];
    elenco.tabBarItem.title=@"Prova 123";

    ElencoSpese *elenco2=[[ElencoSpese alloc] init];
    elenco2.tabBarItem.title=@"Prova 222";
    UINavigationController *navig=[[UINavigationController alloc]     initWithRootViewController:elenco];
UINavigationController *navig1 =[[UINavigationController alloc] initWithRootViewController:elenco2];

    UITabBarController *tabMenu = [[UITabBarController alloc] init];
    tabMenu.viewControllers=[NSArray arrayWithObjects:navig, navig1, nil];

    self.window.rootViewController=tabMenu;

    [self.window makeKeyAndVisible];

    return YES;
}

次に、各TableViewController -viewDidLoadを次のように追加します

-(void)viewDidLoad
{
   [super viewDidLoad];
   self.title = @"Calculator"; 
    UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(yourSelectorMethod)];

    UIBarButtonItem *item1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(yourSelectorMethod1)];

    self.navigationItem.leftBarButtonItem = item;
    self.navigationItem.rightBarButtonItem = item1;
}
于 2013-10-24T08:41:04.150 に答える
0

viewcontroller は、navigationcontroller にプッシュされる tabbar-controller に埋め込まれています。したがって、次のようにナビゲーション項目にアクセスする必要があります。

self.tabBarController.navigationItem.rightBarButtonItem = self.editButtonItem;
于 2012-04-07T11:07:37.543 に答える
0

ウィンドウのタイトルは次のように指定できます

コードの行の後

self.window.rootViewController=navig;

追加するだけ

self.tabbarController.navigationItem.title = @"YOUR TITLE";

これは、タイトルを付けるのに役立ちます

于 2012-04-07T11:13:03.307 に答える