标签: swrevealviewcontroller

如何在使用SWRevealViewController(ios)时手动关闭SideBar菜单

我正在尝试SideBar使用SWRevealViewController.实现/滑出菜单.我有一堆菜单.其中一个菜单是获取应用版本信息.因此,当我单击单元格时,An AlertView显示版本号,按下OK按钮我想关闭/隐藏SideBar菜单并返回到前一个视图(前端控制器).例如,如果我登录控制器并按下设置按钮以显示侧栏,我从TableView单元格中选择版本菜单,弹出窗口将打开显示版本#,当我按下确定时,SideBar应关闭并返回登录屏幕,我不必再次点击设置按钮或滑动返回.当我在警报视图上按"确定"时,如何返回登录屏幕.

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    // the user clicked OK
    if (buttonIndex == 0) {

      //close the side bar and return to front view controller
    }
}
Run Code Online (Sandbox Code Playgroud)

xcode sidebar uialertview ios swrevealviewcontroller

19
推荐指数
3
解决办法
2万
查看次数

当点击前视图时,SWRevealViewController关闭后视图

我正在使用SWRevealViewController,以便在我的应用程序中实现侧面导航菜单.我想这样做是为了在打开后视图时不能与前视图交互,除了当用户轻敲前视图时,后视图将关闭并且前视图可以再次交互.我有这两个SWRevealViewController委托方法,目前从前视图中删除交互.

- (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:    (FrontViewPosition)position {
    if(position == FrontViewPositionLeft) {
        self.view.userInteractionEnabled = YES;
    } else {
        self.view.userInteractionEnabled = NO;
    }
}

- (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:    (FrontViewPosition)position {
    if(position == FrontViewPositionLeft) {
        self.view.userInteractionEnabled = YES;
    } else {
        self.view.userInteractionEnabled = NO;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当轻敲前视图时,这不会导致后视图关闭.任何帮助将不胜感激,谢谢!

objective-c ios swrevealviewcontroller

18
推荐指数
4
解决办法
2万
查看次数

SWRevealViewController:在显示后视图时删除前视图上的交互

我需要在显示后视图时禁用前视图上的用户交互.发现其他人问同样的事情,但无法真正理解在哪里或如何实现我见过的代码.

例如:我从链接中找到了此代码,

- (void)revealController:(SWRevealViewController *)revealController 
      willMoveToPosition:(FrontViewPosition)position {
    if(position == FrontViewPositionLeft) {
        self.view.userInteractionEnabled = YES;
    } else {
        self.view.userInteractionEnabled = NO;
    } 
}

- (void)revealController:(SWRevealViewController *)revealController 
       didMoveToPosition:(FrontViewPosition)position {
    if(position == FrontViewPositionLeft) {
        self.view.userInteractionEnabled = YES;
    } else {
        self.view.userInteractionEnabled = NO;
    } 
}
Run Code Online (Sandbox Code Playgroud)

还发现其他一些链接

我有这个代码,但不确定插入此代码的正确位置.我已经尝试在我的前/后视图中添加它,并且在SWRevealViewController方法中也没有成功

感谢有人能指出我正确的方向.

user-interaction uiviewcontroller ios swrevealviewcontroller

13
推荐指数
3
解决办法
1万
查看次数

iOS中的SWRevealViewController项目

注意:问题解决了.

这是故事.我在我的项目中使用RevealViewController.我也隐藏了navigationBars:

[self.navigationController setNavigationBarHidden];
Run Code Online (Sandbox Code Playgroud)

我的项目可以在下面的图片中看到," menuButton "在tabBarViewController中实现.

在此输入图像描述

由于我的界面外观导致navigationBar被隐藏,所有tabViews(HomeViewController)都不会显示menuButton和navigationBar.我没有使用panGestureRecognizer来触发菜单.

这意味着我有问题通过HomeViewController中的普通按钮触发菜单.menuButton事件放在tabBarViewController.m中:

_menuButton.target = self.revealViewController;
_menuButton.action = @selector(revealToggle:);
Run Code Online (Sandbox Code Playgroud)

所以我试着从HomeViewController调用一个方法来激活tabBarViewController中的按钮,如下所示:

HomeViewController.m

- (IBAction) onMenuClicked: (id)sender{

tabBar = [[tabBarViewController alloc] init];
[tabBar setupMenu]:
}
Run Code Online (Sandbox Code Playgroud)

tabBarViewController.m

-(void) setupMenu{

[_realMenuButton sendActionForControlEvents:UIControlEventTouchUpInside];
[_realMenuButton addTarget:self.revealViewController action:@selector(revealToggle:) UIControlEventTouchUpInside];
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我尝试制作realMenuButton和普通的UIButton.香港专业教育学院还试图为刚的UIBarButtonItem触发@selector(revealToggle :)但是什么也没有发生在应用程序中,当我尝试触发来自HomeViewController按钮.

不知道我将如何使这项工作.还有其他想法或伎俩吗?如果有,请具体说明!问候

uinavigationbar uibutton uibarbuttonitem ios swrevealviewcontroller

13
推荐指数
3
解决办法
764
查看次数

如何从故事板中的appdelegate推送viewcontroller

我在我的项目中使用SWRevealViewController,我想在应用程序收到通知时打开一个特定的控制器.我尝试了很多解决方案,但没有任何效果.

如何从AppDelegate显示特定的ViewController?

(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    UIApplicationState appState = UIApplicationStateActive;
    if ([application respondsToSelector:@selector(applicationState)]) {
        appState = application.applicationState;
    }
    application.applicationIconBadgeNumber = 0;
    if (appState != UIApplicationStateActive) {

        SWRevealViewController *navigationController = (SWRevealViewController *)self.window.rootViewController;
        UINavigationController *nav = (UINavigationController *)navigationController;
        UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
        PushNotificationsVC *controller = (PushNotificationsVC*)[mainStoryboard instantiateViewControllerWithIdentifier: @"PushNotificationsVC"];
        [nav pushViewController:controller animated:YES];

    } else {

        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Notification"
                                                            message:[NSString stringWithFormat:@"%@",[[userInfo objectForKey:@"aps"] valueForKey:@"alert"]]
                                                           delegate:nil
                                                  cancelButtonTitle:@"OK"
                                                  otherButtonTitles:nil];
        [alertView show];
    }
}
Run Code Online (Sandbox Code Playgroud)

iphone ios swrevealviewcontroller

12
推荐指数
3
解决办法
6166
查看次数

swift右侧的SWRevealViewController

我正在使用SWRevealViewController库在swift中制作一个滑出菜单,但我很难将这个菜单放在右侧.我在图书馆描述中看到了这条评论

// Optional right view controller, can be nil if not used
@property (nonatomic) UIViewController *rightViewController;
Run Code Online (Sandbox Code Playgroud)

但是我对目标C并不熟悉,而且我无法在swift上做到这一点.这是我的默认(左)菜单代码的一部分:

class ViewController: UIViewController, AVAudioPlayerDelegate {

@IBOutlet weak var playlistOutlet: UIBarButtonItem!

override func viewDidLoad() {
    super.viewDidLoad()

    playlistOutlet.target = self.revealViewController()
    playlistOutlet.action = Selector("revealToggle:")

    self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())

}
}
Run Code Online (Sandbox Code Playgroud)

并且从SWRevealViewController库调用revealViewController

objective-c ios swrevealviewcontroller swift

11
推荐指数
3
解决办法
8209
查看次数

SWRevealViewController如何删除滑动手势

我正在使用良好的控制SWRevealViewController,但通过重做,我想在屏幕上跟踪我自己的滑动手势.那么如何关闭滑动选项呢?我想只revealToggle使用附在我按钮上的方法.有人面对这个吗?谢谢

ios swrevealviewcontroller

10
推荐指数
3
解决办法
6212
查看次数

用户注销时返回初始视图控制器

我正在开发一个使用Facebook集成的应用程序,log in系统现在运行正常.但是,当用户点击时,我似乎无法返回到我的初始视图控制器log out.

这是我的概述storyboard:

故事板的截图

当用户点击blue button(在顶部)时,我想返回到开头.我该怎么做才能实现这一目标?正如你所看到的,我有多个Navigation Controllers,我只是用Push-segues来到那里.但是,我确实使用了SWRevealViewController,你可以在中间看到.

我尝试过[self.navigationController popToRootViewControllerAnimated:YES];什么都没做.

有什么建议?有谁熟悉SWRevealViewController它可能对我的Navigation堆栈做了什么?任何帮助将不胜感激!

谢谢.

logout uiviewcontroller ios facebook-login swrevealviewcontroller

10
推荐指数
1
解决办法
2万
查看次数

不使用navigationController的SWrevealViewController

我正在做一个项目(更新)我必须在其中添加一个侧边栏.该项目现在目前已完成,不使用导航控制器.我可以在不使用NavigationController的情况下使用SWRevealViewController.请帮我.任何示例代码都很有帮助.

在示例代码中,我看到导航是使用项目没有的navigationController完成的.

谢谢

更新:

转换代码.如何使用故事板ID来管理它.

if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] ) {
    SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;

    swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) {

        UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;
        [navController setViewControllers: @[dvc] animated: NO ];
        [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
    };
Run Code Online (Sandbox Code Playgroud)

objective-c ios swrevealviewcontroller

9
推荐指数
1
解决办法
3159
查看次数

在SWRevealController中更改后视图的宽度

我在故事板中设计了我的观点.当我滑出菜单时,后视图不会自动调整大小到设备的宽度.

我如何设置视图的宽度,使其与self.revealViewController()定义的宽度匹配.backlookRevealWidth?

谢谢

swrevealviewcontroller

9
推荐指数
3
解决办法
5492
查看次数