【问题标题】:how to add right side menu in ios objective c?如何在 ios Objective c 中添加右侧菜单?
【发布时间】:2018-05-08 05:48:04
【问题描述】:

我想在我的项目的右侧添加侧边菜单。我在我的项目中使用 SWRevealViewController 第三方类,在该 RevealToggle 方法对于左侧菜单工作正常,但在右侧添加菜单我使用了 rightRevealToggle 方法,该方法不能正常工作。任何建议都会帮助我完成任务。

【问题讨论】:

  • 请在此处分享您的代码,这将有助于找到解决您问题的方法

标签: ios objective-c xcode9.3


【解决方案1】:

如果你想在 Objective C 中使用右侧菜单,请使用MFSideMenu

在您的 AppDelegate 中:

#import "MFSideMenu.h"

MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                containerWithCenterViewController:centerViewController
                                                leftMenuViewController:leftMenuViewController
                                                rightMenuViewController:rightMenuViewController];
self.window.rootViewController = container;
[self.window makeKeyAndVisible];

打开和关闭菜单

// toggle the right side menu
[self.menuContainerViewController toggleRightSideMenuCompletion:^{}];
// close the side menu
[self.menuContainerViewController setMenuState:MFSideMenuStateClosed completion:^{}];
// open the right side menu
[self.menuContainerViewController setMenuState:MFSideMenuStateRightMenuOpen completion:^{}];

如果你想使用SWRevealViewController 那么可以使用下面的代码。

设置右视图控制器:

@property (strong, nonatomic) UIViewController *rightViewController;
Animated setting of the front view controller:

- (void)pushFrontViewController:(UIViewController *)frontViewController animated:(BOOL)animated;
Animating the position of the front view controller. Position can be: FrontViewPositionLeftSideMostRemoved, FrontViewPositionLeftSideMost, FrontViewPositionLeftSide, FrontViewPositionLeft, FrontViewPositionRight, FrontViewPositionRightMost or FrontViewPositionRightMostRemoved

- (void)setFrontViewPosition:(FrontViewPosition)frontViewPosition animated:(BOOL)animated;
Creating and obtaining a pan gesture recognizer:

- (UIPanGestureRecognizer*)panGestureRecognizer;
Creating and obtaining a tap gesture recognizer:

- (UITapGestureRecognizer*)tapGestureRecognizer;
Other methods are documented in the SWRevealViewController.h header file.

【讨论】:

  • 非常感谢它现在为我工作的代码。很有帮助
  • 我的荣幸 :) @CharishmaRao
【解决方案2】:

您正在使用 SWRevealViewController,如果您想在右侧实现菜单,您只需更改您传递给 RevealController 的 ViewControllers

来自 SWRevealViewController 的示例

SWRevealViewController *revealController = [[SWRevealViewController alloc] initWithRearViewController:rearNavigationController frontViewController:frontNavigationController];
revealController.delegate = self;

revealController.rightViewController = YourViewController;

请查看演示中 RevealControllerProject 的 AppDelegate.m SWRevealViewController 的项目。

【讨论】:

    猜你喜欢
    • 2015-04-11
    • 1970-01-01
    • 2016-07-05
    • 2020-02-03
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多