Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Xcode 你能在-(void)viewdide:(BOOL)动画中嵌套iAction(按钮)吗?怎么用?_Xcode_Xcode4_Xcode4.2_Ibaction_Viewdidappear - Fatal编程技术网

Xcode 你能在-(void)viewdide:(BOOL)动画中嵌套iAction(按钮)吗?怎么用?

Xcode 你能在-(void)viewdide:(BOOL)动画中嵌套iAction(按钮)吗?怎么用?,xcode,xcode4,xcode4.2,ibaction,viewdidappear,Xcode,Xcode4,Xcode4.2,Ibaction,Viewdidappear,我确定我需要我的按钮操作(findMe)作为ViewDidDisplay的一部分,并且不能将其作为单个iAction,因为它显示了位置错误 这可能吗 B:这样做有意义吗 C:它看起来像什么 我知道我当前的代码是错误的,如下所示: -(void)viewDidAppear:(BOOL)animated { if (findMe == YES) { self.mapView.showsUserLocation = YES; [mapView setCenterCoordina

我确定我需要我的按钮操作(findMe)作为ViewDidDisplay的一部分,并且不能将其作为单个iAction,因为它显示了位置错误

这可能吗

B:这样做有意义吗

C:它看起来像什么

我知道我当前的代码是错误的,如下所示:

-(void)viewDidAppear:(BOOL)animated
{
  if (findMe == YES)
  {
    self.mapView.showsUserLocation = YES;
    [mapView setCenterCoordinate:mapView.userLocation.coordinate animated:YES];
  }
}

谢谢

你的问题措辞混乱且不完整(请包括有错误的代码和确切的错误消息),但我会回答你可能会问的三件事

如果您的问题是希望两个方法中的代码相同,请将两个方法的公共部分提取到第三个方法中,并让它们都调用该方法

- (IBAction) button {
    stuff
    [self commonPart];
}

- (void) viewDidAppear {
    stuff
    [self commonPart];
}

- (void) commonPart {
    stuff they both do
}
如果您的问题是需要了解ViewDidDisplay方法中UI的状态,则可以使用IBOutlet引用有问题的控件

- (void) viewDidAppear {
    if (self.findMeButton.someThingYouWantToCheck) {
          self.mapView.showsUserLocation = YES;
          [mapView setCenterCoordinate:mapView.userLocation.coordinate animated:YES];
    }
}
如果您的问题是需要存储按钮是否已按下,以便以后可以基于它执行不同的操作,只需向对象添加一个BOOL实例变量,并在按钮按下的iAction中将其设置为“是”


这些都是你想做的吗?

是的,我想你回答的后一个问题就是我想做的。对不起,我是初学者。我希望该按钮在用户按下按钮的任何给定时间在视图中执行“showsUserLocation”。所以,我不想存储它是否被按下,我只想它在按下时立即做出反应。对不起,我把你弄糊涂了!不能在另一个方法中执行一个方法的一部分。您可以将代码移动到一个单独的方法,如我的第一个示例所示,或者复制粘贴它。第一部分为我解决了问题,我完成了我想要的。:)