3

これが私のコードです。ナビゲーションコントローラーにボタンを追加できません。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    UIViewController *viewController1, *viewController2, *viewController3,*viewController4;

    viewController1 = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    viewController2 = [[DisplayAllImagesController alloc] initWithNibName:@"DisplayAllImagesController" bundle:nil];
    viewController3 = [[EmptyView alloc] initWithNibName:@"EmptyView" bundle:nil];
    viewController4 = [[ListView alloc] initWithNibName:@"ListView" bundle:nil];



    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController2, viewController1, viewController3, viewController4, nil];
    self.tabBarController.title = @"Title";

    self.navController = [[UINavigationController alloc]
                          initWithRootViewController:self.tabBarController];
    self.window.rootViewController = self.navController;
    [self.window makeKeyAndVisible];
    return YES;
}

だから、ナビゲーションコントローラーにボタンを追加する方法を教えてください...お願いします...

4

5 に答える 5

7

この次のコードをViewControllerviewDidLoad:メソッドに追加するだけです...

UIBarButtonItem *btnReload = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(btnReloadPressed:)];
self.navigationController.topViewController.navigationItem.rightBarButtonItem = btnReload;
btnReload.enabled=TRUE;
btnReload.style=UIBarButtonSystemItemRefresh;
于 2012-12-10T10:20:51.273 に答える
3

これを試して:

UIButton *customButton = [UIButton alloc] initWithFrame:CGRectMake(0, 0, 50,30)];

UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.rightBarButtonItem = closeButton; 
于 2012-12-10T10:16:26.923 に答える
2

カスタムボタンが必要な場合は、これを使用できます

UIButton *myButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton1 setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
myButton1.showsTouchWhenHighlighted = YES;
myButton1.frame = CGRectMake(0.0, 3.0, 50,30);

[myButton1 addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithCustomView:myButton1];
self.navigationItem. rightBarButtonItem = rightButton;
于 2012-12-10T10:19:22.413 に答える
1

//ボタンを作成し、画像を割り当てますUIImage * buttonImage = [UIImage imageNamed:@ "button.png"];

UIButton * rightButton = [UIButton buttonWithType:UIButtonTypeCustom];

[rightButton setFrame:CGRectMake(280,7,buttonImage.size.width,buttonImage.size.height)];
[rightButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
rightButton.titleLabel.font = [UIFont boldSystemFontOfSize:12];
[rightButton setTitle:@"Right" forState:UIControlStateNormal];

// add image view
[self.navigationController.navigationBar addSubview:rightButton];

[self.navigationController.navigationBar bringSubviewToFront:rightButton];


//create a UIBarButtonItem with the button as a custom view
UIBarButtonItem *customBarDone = [[UIBarButtonItem alloc] initWithCustomView:rightButton];
self.navigationItem.rightBarButtonItem = customBarDone;
[rightButton addTarget:self action:@selector(yourSelector:) forControlEvents:UIControlEventTouchUpInside];
于 2012-12-10T10:24:11.690 に答える
0

UIButton * btn = [UIButton alloc] init]; .... self.navController.view addsubview:btn];

于 2012-12-10T10:23:46.697 に答える