0

我正在尝试UIViewNSNotification. 当我按下“完成”按钮时,应用程序应该删除screen3,但它不起作用。有什么建议么?这里有代码:

- (void) mostrarCompra:(NSNotification *) notification
{
    [self buyView:self];
}

- (void)buyView:(id)sender
{
   screen3 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width,               self.view.bounds.size.height)];   
   screen3.backgroundColor= [UIColor grayColor];

   UIToolbar* tabBar = [UIToolbar new]; 
   tabBar.barStyle = UIBarStyleDefault;
   [tabBar sizeToFit];  
   [tabBar setFrame:CGRectMake(0,0,self.view.bounds.size.width,60)];    
   UIBarButtonItem *atras = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(returnBuy:)];

   [tabBar setItems:[NSArray arrayWithObjects:atras,nil]];  

   [screen3 addSubview:tabBar]; 

   [superwindow addSubview:screen3];
}   

- (IBAction)returnBuy:(id)sender{

    [screen3 removeFromSuperview];  
}

谢谢。

4

1 回答 1

1

在将 screen3 添加为子视图并从父视图中删除之前使用 nslog

NSLog(@"%@",screen3);

如果输出是对两个地方的相同位置的引用,那么还有其他一些 prblm,但是指针的值不同,例如 0x324fa 和 0xa214c,那么您在添加和删除视图期间分配或更改 screen3 的值. 告诉我你在这两种情况下是否得到这个。

于 2012-05-08T09:51:38.167 回答