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

ViewController只需在您的方法中添加以下代码viewDidLoad:...

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 回答