iOS AMSlideMenu接收器(<MainVC:0x8f92a90>)没有标识符为'rightMenu'的segue
我想使用库AMSlideMenu有一个导航抽屉。 我看到YT教程使用我自己的导航抽屉。
问题是,我只想使用左侧菜单,所以我有这个错误,因为它没有find正确的菜单…
我该如何解决?
谢谢,
我通过仔细检查我的Segue类是否正确设置来解决这个问题。 点击你的表视图和你的segue视图之间的segue链接,并确保你已经将类设置为'AMSlideMenuContentSegue'和正确的标识符('firstSegue','secondSegue'):
在这个链接之前,MainVC(或者相当的)视图在菜单链接的表格视图中应该有它的类被设置为'AMSlideMenuLeftMenuSegue'并且它的标识符被设置为'leftMenu;
另外,如果上面所有代码在你的代码中检查出来,那么这个解决的问题可能会有你在之后的解决scheme: https : //github.com/SocialObjects-Software/AMSlideMenu/issues/21
我有同样的问题。 如果AMSlideMenu在尝试创buildLeftMenu时捕获exception,则尝试创buildRightMenu(我不明白为什么,但是是真的)。 在我的情况下,左菜单“firstSegue”指向一个“错误的观点”,因为它是一个简单的视图控制器而不是导航控制器。 我将视图控制器更改为导航控制器(指向我的原始视图控制器),修复它。 为了我的英文
将AMSlideMenuWithoutStoryboard-Prefix.pch文件设置复制到项目的PCH文件中。
我只是把它固定在我的项目上。 我希望这个解决scheme对你们有效:
只需添加一个新的.pch
文件,然后转到Build Settings
选项卡,search“前缀头”,并设置path。
在你的PCH文件中添加这个#define AMSlideMenuWithoutStoryboards
我希望它可以没有问题地工作。
AMSlideMenu创build者build议添加:
#define AMSlideMenuWithoutStoryboards
在项目上。
我试过这个解决scheme,绝对不行。
如本文所述,如果您使用cocoapod安装AMSlideMenu,则必须在pod项目的.pch文件中定义AMSlideMenuWithoutStoryboards
。
这是一个解决方法是邪恶的:每次运行pod update
都应该记得在AMSlideMenu.pch文件中手动添加该行。
我的解决scheme是在项目构build阶段添加运行脚本 ,在我的情况下是:
output=$(find .. -name "AMSlideMenu-prefix.pch") source=${SRCROOT}/${PROJECT_NAME}/amSlideMenuConfig log=${SRCROOT}/${PROJECT_NAME}/MyProject.log echo -e "Configuring AMSlideMenu" > ${log} echo -e "Reading configuration from: " "${source}" "\n" >> ${log} echo "$(cat ${source})" > "${output}" echo -e "Project configured. " >> ${log}
amSlideMenuConfig包含旧定义的位置:
#import <Availability.h> #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later." #endif #define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame) #define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) #define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending) #define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending) #define AMSlideMenuWithoutStoryboards #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #endif
每次构build项目时都会执行此脚本:为了改进优化过程,您可以在脚本内添加任何需要的检查。