Ios 导航栏右侧按钮未正确放置

Ios 导航栏右侧按钮未正确放置,ios,objective-c,uinavigationcontroller,uitabbarcontroller,rightbarbuttonitem,Ios,Objective C,Uinavigationcontroller,Uitabbarcontroller,Rightbarbuttonitem,我用4个项目实现了一个UITabBarController 我从AppDelegate设置初始ViewController 以下是HomeTabBarViewController ViewDidLoad代码: 在HomePagingViewController ViewDidLoad中,我设置了导航,如代码中所示 -(void)navigationSetUp{ self.navigationController.navigationBar.translucent=NO; UIBarB

我用4个项目实现了一个UITabBarController

我从AppDelegate设置初始ViewController

以下是HomeTabBarViewController ViewDidLoad代码:

在HomePagingViewController ViewDidLoad中,我设置了导航,如代码中所示

-(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"]];
}
此后,当我更改HomePagingViewController的选项卡时,导航右侧按钮未正确放置,右侧没有边距

参考图片:


请帮助。

我解决了问题,代码没有问题。实际上,对于Epaper,我们使用第三方SDK,所以出现了这个问题。我删除了SDK&代码现在工作正常

您应该考虑UIBarbuttonSystemFixedSpace效果

如: UIBarButtonItem*space=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace目标:nil操作:nil]; -

为什么要使用系统导航栏?自定义导航栏很不错!例如:
我使用了相同的代码,但无法获得填充问题。请尝试设置右按钮的背景色并找到问题。嗨@vinodh,我解决了问题。你是对的,代码没有问题。实际上,对于Epaper,我们使用第三方SDK来解决这个问题。
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"]];
-(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"]];
}