Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone/iPad-导航栏按钮有问题吗?_Iphone_Objective C_Xcode_Ipad_Uinavigationbar - Fatal编程技术网

iPhone/iPad-导航栏按钮有问题吗?

iPhone/iPad-导航栏按钮有问题吗?,iphone,objective-c,xcode,ipad,uinavigationbar,Iphone,Objective C,Xcode,Ipad,Uinavigationbar,我在应用程序中添加了导航栏中的按钮,如下 UIBarButtonItem *more=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"search-25by25.png"] style:UIBarButtonItemStylePlain target:self action:@selector(SelectMission:)]; self.navigationItem.rightBarButtonItem = more;

我在应用程序中添加了导航栏中的按钮,如下

UIBarButtonItem *more=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"search-25by25.png"] style:UIBarButtonItemStylePlain target:self action:@selector(SelectMission:)];

self.navigationItem.rightBarButtonItem = more;
当我点击应用程序关闭按钮时


如果我用普通按钮做同样的事情,它工作正常。有人能帮我解释一下为什么它会这样吗?

你有没有查看
选择任务:
的代码?您发布的代码仅用于显示按钮,根据您的描述,该按钮似乎正在工作

另外,如果有任何东西被转储到控制台(Command-Shift-R)?

试试这个

UIImage*i=[UIImage ImageName:@“search-25by25.png”]

UIBarButtonItem*more=[[UIBarButtonItem alloc]initWithCustomView:myButton]; self.navigationItem.RightBarButtonim =更多


希望有帮助:)

从您评论中的崩溃日志判断,我想说这与uibarbuttonite类无关,而与您的操作处理程序有关。崩溃日志说明了整个情况:您的类没有实现一个名为SelectMission:的方法,该方法只接受一个参数。有关@selector关键字的一些注意事项,您需要仔细检查:

1) 资本化。确保您实现的方法是SelectMission:。不选择任务:,选择任务:,选择任务:,等等

2) 争论。冒号表示方法SelectMission:接受一个参数。如果您已经实现了它,并且忘记了参数,那么它将崩溃,出现您发布的异常


这将有助于缩小问题的范围。

所谓“get’s shutdown”是指它崩溃了吗?如果是,请发布崩溃日志。检查SelectMission方法或将代码和崩溃日志放在此处。崩溃日志信息-[RootViewController SelectMission]:发送到实例0x6a23250 2011-01-12 21:06:45.428测试应用程序[1989:207]*由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因:'-[RootViewController SelectMission]:发送到实例0x6a23250的未识别选择器,请在此发布崩溃日志:)崩溃日志信息-[RootViewController SelectMission]:发送到实例0x6a23250的未识别选择器2011-01-12 21:06:45.428测试应用程序[1989:207]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[RootViewController SelectMission]:无法识别的选择器发送到实例0x6A23250我猜您没有键入方法名称SelectMission,或者没有参数。如果没有参数,则应删除操作的最后一个冒号:@selector(SelectMission:)。只需使用操作:@selector(SelectMission)崩溃日志信息-[RootViewController SelectMission]:发送到实例0x6a23250 2011-01-12 21:06:45.428测试应用程序[1989:207]*由于未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:'-[RootViewController SelectMission]:发送到实例0x6A23250的无法识别的选择器崩溃日志中的SelectMission调用没有冒号,但在原始示例中有。它接受参数吗?
  UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
  myButton.bounds = CGRectMake( 0, 0, i.size.width, i.size.height );    
  [myButton setImage:i forState:UIControlStateNormal];
  [myButton addTarget:self action:@selector(SelectMission:) forControlEvents:UIControlEventTouchUpInside];