2015-06-29 80 views
1

在我MainMainViewController我创造了新的UIView(ContentView)。我设置了调用方法来定位错误

DetailViewController *detailView = 
    [[DetailViewController alloc] initWithObject:paAnnotation]; 
detailView.view.frame = CGRectMake(0, 
            0, 
            [self getWidthOfScreen], 
            [self getWidthOfScreen]); 
[contentView addSubview:detailView.view]; 

它工作正常,但在我的DetailViewController中,我创建了UIButton并设置了目标操作。但是当我点击按钮时,它崩溃并显示错误。你能告诉我哪里可以解决问题吗?

- (id)initWithObject:paAnnotation { 

    if ((self = [super init])) { 
     self.annotation = paAnnotation; 
    } 

    return self; 
}  

- (void)viewDidAppear:(BOOL)animated { 

     UIButton *closeButton = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 50, 50)]; 
     closeButton.backgroundColor = [UIColor redColor]; 
     [closeButton addTarget:self 
         action:@selector(closeContent) 
       forControlEvents:UIControlEventTouchUpInside]; 
     [self.view addSubview:closeButton]; 

} 

- (void)closeContent { 
    NSLog(@"Test"); 
} 

错误:

-[GEOVectorTile closeContent]: unrecognized selector sent to instance 0x19d0a1e0 
+0

你tryied设置里面'viewDidLoad'按钮? –

+0

是的,我试过,但没有工作相同的错误。 –

回答

2

在你MainMainViewController,尝试当你初始化它保留您的DetailView。或者在MainMainViewController中创建detailView作为retain属性,然后使用它。

+0

我试着设置'@财产(非原子,保留)的UIView *内容查看;'但现在点击后,显示我错误'EXC_BAD_ACCESS' –

+1

尝试使用@属性(非原子,保留)DetailViewController *的DetailView –

+0

它的工作原理谢谢! –