iosobjective-cuinavigationcontrolleruitabbarcontrollerrightbarbuttonitem

Navigationbar right button is not placed correctly


I implemented a UITabBarController with 4 items.

I set the initial ViewController from AppDelegate.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    HomeTabBarViewController* homeVC = [[HomeTabBarViewController alloc] init];

    [self.window setRootViewController:homeVC];
    [self.window makeKeyAndVisible];

return YES;
}

Here is HomeTabBarViewController ViewDidLoad Code:

UIViewController *view1 = [[UIViewController alloc] init];
    [view1.view setBackgroundColor:[UIColor redColor]];
UIViewController *view2 = [[UIViewController alloc] init];
    UINavigationController * centerNav=[[UINavigationController alloc]initWithRootViewController:view1];
    HomePagingViewController * view3=(HomePagingViewController*)[storyboard instantiateViewControllerWithIdentifier:@"HomePagingViewController"];
     UINavigationController * centerNav3=[[UINavigationController alloc]initWithRootViewController:view3];
    UIViewController *view4 = [[UIViewController alloc] init];
    UINavigationController * centerNav4=[[UINavigationController alloc]initWithRootViewController:view4];
    [view2.view setBackgroundColor:[UIColor greenColor]];
    [view3.view setBackgroundColor:[UIColor purpleColor]];
    [view4.view setBackgroundColor:[UIColor grayColor]];
    NSMutableArray *tabViewControllers = [[NSMutableArray alloc] init];
    [tabViewControllers addObject:centerNav];
    [tabViewControllers addObject:view2];
    [tabViewControllers addObject:centerNav3];
    [tabViewControllers addObject:centerNav4];

    [self setViewControllers:tabViewControllers];
    view1.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Home"
                                  image:[UIImage imageNamed:@"home_tab_item.png"] selectedImage:[UIImage imageNamed:@"home_tab_item_active.png"]] ;
    view2.tabBarItem =
    [[UITabBarItem alloc] initWithTitle:@"Bookmark"
                                  image:[UIImage imageNamed:@"bookmark_tab_item.png"] selectedImage:[UIImage imageNamed:@"bookmark_tab_item_active.png"]];
    view3.tabBarItem =
    [[UITabBarItem alloc] initWithTitle:@"Paper"
                                  image:[UIImage imageNamed:@"paper_tab_item.png"] selectedImage:[UIImage imageNamed:@"paper_tab_item_active.png"]];
    view4.tabBarItem =
    [[UITabBarItem alloc] initWithTitle:@"More"
                                  image:[UIImage imageNamed:@"menu_tab_item.png"] selectedImage:[UIImage imageNamed:@"menu_tab_item_active.png"]];

In HomePagingViewController ViewDidLoad I setUp a Navigation as in code

-(void)navigationSetUp{
 self.navigationController.navigationBar.translucent=NO;

    UIBarButtonItem * settingBtn=[[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"settings.png"] style:UIBarButtonItemStylePlain target:self action:@selector(menuHandler:)];
    UIBarButtonItem * searchBtn=[[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"settings.png"] style:UIBarButtonItemStylePlain target:self action:@selector(menuHandler:)];
    self.navigationItem.leftBarButtonItem = settingBtn;
    self.navigationItem.rightBarButtonItem = searchBtn;
    self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ie_New_logo.png"]];
}

After this when I changed the tab for HomePagingViewController the navigation right button not placed correctly there is no margin from right.

Refer Image : enter image description here

Please Help.


Solution

  • I resolved the issue , there is no issue with the code . Actually for Epaper we using third party SDK So that this problem occur.I Removed SDK & the code is working fine now.