0

我正在使用JASidePanels与 Facebook 具有相同的布局,但有一些限制,我希望您帮助我:

  • 在中心视图控制器的导航控制器中添加右键

  • 在不同的视图控制器中按下按钮后,将中心视图更改为不同的视图

  • 从左侧或右侧告诉中心视图控制器推送视图

  • 从左侧或右侧转到标签栏视图控制器内的视图

这是我在 MainAppDelegate 中的实现:

/* tabbar views with their navigation controller */
SearchViewController *searchViewController = [[SearchViewController alloc]
   initWithNibName:@"SearchViewController" bundle:nil];
self.searchNavController = [[UINavigationController alloc]
initWithRootViewController:searchViewController];

MainViewController *mainViewController = [[MainViewController alloc]
 initWithNibName:@"MainViewController" bundle:nil];
self.mainNavController = [[UINavigationController alloc]
initWithRootViewController:mainViewController];

  /* uiviewcontroller for our left side view */
SideMenuViewController *sideMenuViewController=[[SideMenuViewController alloc]
initWithNibName:@"SideMenuViewController" bundle:nil];

  /* the center view of the side panel */
self.mainSidePanelviewController = [[JASidePanelController alloc] init];
self.mainSidePanelviewController.shouldDelegateAutorotateToVisiblePanel = NO;

   /* set the properties of JASidePanel*/

self.mainSidePanelviewController.leftPanel = sideMenuViewController ;
self.mainSidePanelviewController.centerPanel =  self.mainNavController;


[self.mainSidePanelviewController.centerPanel.navigationController
 setNavigationBarHidden:YES animated:YES];


NSArray *controllers = [NSArray arrayWithObjects:
 self.mainSidePanelviewController,self.searchNavController ,nil];

[self.tabController setViewControllers:controllers];

// the tab bar is our root view
self.window.rootViewController = self.tabController;

[self.window makeKeyAndVisible];

如果有更好的开源项目可以让我做我想做的事,请给我链接

4

2 回答 2

0
  1. 导入接口头文件

    #import "UIViewController+JASidePanel.h"

  2. 在要添加右键的 ViewController 中。将以下代码添加到 viewDidLoad 方法。

    if (!self.navigationItem.rightBarButtonItem) {
        UIImage* image = [UIImage imageNamed:@"rightButtonImage.png"];
        CGRect frameimg = CGRectMake(0, 0, image.size.width, image.size.height);
        UIButton *button = [[UIButton alloc] initWithFrame:frameimg];
        [button setBackgroundImage:image forState:UIControlStateNormal];
        [button addTarget:self.sidePanelController action:@selector(toggleRightPanel:) forControlEvents:UIControlEventTouchUpInside];
        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];  }
    

您可以使用任何 UIButton 来创建 rightBarButtonItem。

于 2013-04-21T08:20:51.083 回答
0

只需添加您自己的按钮(例如在 viewDidLoad 中)并分配一个选择器以显示右侧面板:

UIBarButtonItem *rightbutton = [UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"rightIcon.png"] hightlightImage:[UIImage imageNamed:@"rightIcon.png"] target:self action:@selector(slideInRightHandView:)]; self.navigationItem.rightBarButtonItem = rightbutton;

于 2013-04-11T23:44:10.337 回答