我正在尝试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
    }
}
我正在使用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;
    }
}
但是,当轻敲前视图时,这不会导致后视图关闭.任何帮助将不胜感激,谢谢!
我需要在显示后视图时禁用前视图上的用户交互.发现其他人问同样的事情,但无法真正理解在哪里或如何实现我见过的代码.
例如:我从链接中找到了此代码,
- (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;
    } 
}
还发现其他一些链接
我有这个代码,但不确定插入此代码的正确位置.我已经尝试在我的前/后视图中添加它,并且在SWRevealViewController方法中也没有成功
感谢有人能指出我正确的方向.
user-interaction uiviewcontroller ios swrevealviewcontroller
注意:问题解决了.
这是故事.我在我的项目中使用RevealViewController.我也隐藏了navigationBars:
[self.navigationController setNavigationBarHidden];
我的项目可以在下面的图片中看到," menuButton "在tabBarViewController中实现.
由于我的界面外观导致navigationBar被隐藏,所有tabViews(HomeViewController)都不会显示menuButton和navigationBar.我没有使用panGestureRecognizer来触发菜单.
这意味着我有问题通过HomeViewController中的普通按钮触发菜单.menuButton事件放在tabBarViewController.m中:
_menuButton.target = self.revealViewController;
_menuButton.action = @selector(revealToggle:);
所以我试着从HomeViewController调用一个方法来激活tabBarViewController中的按钮,如下所示:
HomeViewController.m
- (IBAction) onMenuClicked: (id)sender{
tabBar = [[tabBarViewController alloc] init];
[tabBar setupMenu]:
}
tabBarViewController.m
-(void) setupMenu{
[_realMenuButton sendActionForControlEvents:UIControlEventTouchUpInside];
[_realMenuButton addTarget:self.revealViewController action:@selector(revealToggle:) UIControlEventTouchUpInside];
}
在这个例子中,我尝试制作realMenuButton和普通的UIButton.香港专业教育学院还试图为刚的UIBarButtonItem触发@selector(revealToggle :)但是什么也没有发生在应用程序中,当我尝试触发来自HomeViewController按钮.
不知道我将如何使这项工作.还有其他想法或伎俩吗?如果有,请具体说明!问候
uinavigationbar uibutton uibarbuttonitem ios swrevealviewcontroller
我在我的项目中使用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];
    }
}
我正在使用SWRevealViewController库在swift中制作一个滑出菜单,但我很难将这个菜单放在右侧.我在图书馆描述中看到了这条评论
// Optional right view controller, can be nil if not used
@property (nonatomic) UIViewController *rightViewController;
但是我对目标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())
}
}
并且从SWRevealViewController库调用revealViewController
我正在使用良好的控制SWRevealViewController,但通过重做,我想在屏幕上跟踪我自己的滑动手势.那么如何关闭滑动选项呢?我想只revealToggle使用附在我按钮上的方法.有人面对这个吗?谢谢
我正在开发一个使用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
我正在做一个项目(更新)我必须在其中添加一个侧边栏.该项目现在目前已完成,不使用导航控制器.我可以在不使用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];
    };
我在故事板中设计了我的观点.当我滑出菜单时,后视图不会自动调整大小到设备的宽度.
我如何设置视图的宽度,使其与self.revealViewController()定义的宽度匹配.backlookRevealWidth?
谢谢
ios ×9
objective-c ×3
iphone ×1
logout ×1
sidebar ×1
swift ×1
uialertview ×1
uibutton ×1
xcode ×1