3

Here is my code..I am unable to add a button in my navigation controller.

- (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;
}

So,please let me know how i can add button to navigation controller...please...

5
  • you want leftbutton are rigth button? Commented Dec 10, 2012 at 10:13
  • which button you want to add??i.e.back button, Add button,etc Commented Dec 10, 2012 at 10:15
  • @ganesh manoj rightbutton.. Commented Dec 10, 2012 at 10:15
  • @ParasJoshi button for grid view...and reload.. Commented Dec 10, 2012 at 10:16
  • check my ans stackoverflow.com/questions/13488710/… Commented Dec 10, 2012 at 11:41

5 Answers 5

7

just add this bellow code in your ViewController's viewDidLoad: method...

UIBarButtonItem *btnReload = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(btnReloadPressed:)];
self.navigationController.topViewController.navigationItem.rightBarButtonItem = btnReload;
btnReload.enabled=TRUE;
btnReload.style=UIBarButtonSystemItemRefresh;
Sign up to request clarification or add additional context in comments.

Comments

3

Try this:

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

UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.rightBarButtonItem = closeButton; 

Comments

2

if you want custom button we can use this

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;

Comments

1

//create the button and assign the image 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];

1 Comment

this is working code, just assign custom image to the button... and it will for for your own scenario ...
0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.