使用 RESideMenu 移动到其他视图

Posted

技术标签:

【中文标题】使用 RESideMenu 移动到其他视图【英文标题】:Move to other View with RESideMenu 【发布时间】:2014-12-27 18:58:34 【问题描述】:

我已经在我用 Swift 编写的应用程序中实现了 RESideMenu,它的实现非常完美,但是,当我单击具有视图选项名称的单元格时,我无法将选择移动到其他视图(例如:如果我单击 Profile me error 以及其他单元格。

这是我转换成 swift 的代码:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 

    println("did select row: \(indexPath.row)")

    if (indexPath.row == selectedMenuItem) 
        return
    

    selectedMenuItem = indexPath.row

    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)

    var salViewController : UIViewController

    //sideMenuViewController!.setContentViewController(salViewController, animated: true)

    switch (indexPath.row)
    case 0:
        salViewController = mainStoryboard.instantiateViewControllerWithIdentifier("Home") as UIViewController
        break
    case 1:
        salViewController = mainStoryboard.instantiateViewControllerWithIdentifier("Profilo") as UIViewController
        break
    default:
        break

    


这就是obj-c:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath      *)indexPath

[tableView deselectRowAtIndexPath:indexPath animated:YES];
switch (indexPath.row) 
    case 0:
        [self.sideMenuViewController setContentViewController:[[UINavigationController    alloc] initWithRootViewController:[[DEMOFirstViewController alloc] init]]
                                                     animated:YES];
        [self.sideMenuViewController hideMenuViewController];
        break;
    case 1:
        [self.sideMenuViewController setContentViewController:[[UINavigationController    alloc] initWithRootViewController:[[DEMOSecondViewController alloc] init]]
                                                     animated:YES];
        [self.sideMenuViewController hideMenuViewController];
        break;
    default:
        break;
   

我该如何解决?我依靠你们的专家。

【问题讨论】:

我没有看到上面有任何跳转代码比如sideMenuController()?.setContentViewController(destViewController) 【参考方案1】:
    switch (indexPath.row) 
    case 0 :
        println("case 0")
        self.sideMenuViewController.setContentViewController(UINavigationController(rootViewController: self.storyboard?.instantiateViewControllerWithIdentifier("firstViewController") as! UIViewController)
            , animated: true)

            self.sideMenuViewController.hideMenuViewController()

        break
    case 1 :
        println("case 1")
        self.sideMenuViewController.setContentViewController(UINavigationController(rootViewController: self.storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! UIViewController)
            , animated: true)
        self.sideMenuViewController.hideMenuViewController()
        break
    default:
    break

【讨论】:

以上是关于使用 RESideMenu 移动到其他视图的主要内容,如果未能解决你的问题,请参考以下文章

带有 Residemenu 的 UILocalNotification

在使用 RESideMenu 显示视图控制器之前,使用 AFNetworking 在 didFinishLaunching 中尽快检查可达性

使用 ResideMenu lib 时删除菜单项

使用 XIB 将 UIView 移动到其他视图内部时保持位置

从任何其他视图控制器移动到任何几个视图控制器

移动到其他视图控制器时的标签栏