【问题标题】:MFSideMenu is not working in iOS?MFSideMenu 在 iOS 中不起作用?
【发布时间】:2016-07-28 09:08:32
【问题描述】:

您好,我已按照此 github 页面添加 MFSideMenu 并显示以下错误。

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_MFSideMenuContainerViewController", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是我的 AppDelegate

- (ViewController *)demoController {
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
    ViewController *main = (ViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"home"];

    return  main;
}

- (UINavigationController *)navigationController {
    return [[UINavigationController alloc]
            initWithRootViewController:[self demoController]];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    leftMenuController *leftMenuViewController = [[leftMenuController alloc] init];

    MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                    containerWithCenterViewController:[self navigationController]
                                                    leftMenuViewController:leftMenuViewController
                                                    rightMenuViewController:nil];
    self.window.rootViewController = container;
    [self.window makeKeyAndVisible];
    return YES;
}

【问题讨论】:

  • 检查您的 .h 和 .m 是否正确添加到目标中
  • 我的编译源看起来像附上的截图
  • 你的 mfide 菜单类在哪里
  • 试试它对我的工作 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; SideMenuViewController *leftMenuViewController = [storyboard instantiateViewControllerWithIdentifier:@"SideMenu"]; // SideMenuViewController *rightMenuViewController = [[SideMenuViewController alloc] init]; MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController containerWithCenterViewController:[self navigationController] leftMenuViewController:leftMenuViewController rightMenuViewController:nil]; self.window.rootViewController = 容器;
  • 请参阅stackoverflow.com/questions/26036826/…,如果这有帮助,可能是您遇到了一些拱形问题。

标签: ios objective-c mfslidemenu


【解决方案1】:

通常,当 BoxView 的代码未正确编译到您的目标中时,会发生这种情况。

您需要确保您正在构建的 target 为您的 MFSideMenuContainerViewController.m 实现文件选中了相应的框。

“清洁和构建”也永远不会受到伤害。

【讨论】:

    【解决方案2】:

    在 AppDelegate.m 中使用此代码,它在故事板中对我有用。

    - (ViewController *)demoController {
        return [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    }
    
    - (UINavigationController *)navigationController {
        return [[UINavigationController alloc]
                initWithRootViewController:[self demoController]];
    }
    
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
        MFSideMenuContainerViewController *container = (MFSideMenuContainerViewController *)self.window.rootViewController;
        UINavigationController *navigationController = [storyboard instantiateViewControllerWithIdentifier:@"navigationController"];
        UIViewController *leftSideMenuViewController = [storyboard instantiateViewControllerWithIdentifier:@"leftSideMenuViewController"];
         UIStoryboard *storyboard1 = [UIStoryboard storyboardWithName:@"second" bundle:[NSBundle mainBundle]];
        UIViewController *left = [storyboard1 instantiateViewControllerWithIdentifier:@"rightSideMenuViewController"];
    
        [container setLeftMenuViewController:leftSideMenuViewController];
        [container setLeftMenuViewController:left];
        [container setCenterViewController:navigationController];
    
        // Override point for customization after application launch.
        return YES;
    }
    

    还在故事板中获取一个新的视图控制器并将其标记为初始视图控制器,并将其类名和故事板 ID 指定为 MFSideMenuContainerViewController。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      相关资源
      最近更新 更多