2012-01-08 128 views
2

我看了這裏,發現了一些例子,但沒有任何作品,所以在這裏去... 我有一個子視圖,它啓動和工作正常,相機需要一張圖片,然後縮略圖出現在底部正確的,當點擊時,我想子視圖發佈,但無論我如何嘗試我無法擺脫子視圖!刪除一個子視圖

代碼:

-(void)onSingleTap:(UITouch*)touch { 
NSLog(@"onSingleTap"); 
    UIImageView *eyes = [[[UIImageView alloc] initWithImage:[UIImage  imageNamed:@"binocs.png"]] autorelease]; 
eyes.tag = EYES_TAG; 
    [self.overlayView addSubview:eyes]; 
    [camera takePicture]; 
    } 

然後縮略圖操作:

- (void)thumbnailTapped:(id)sender { 
    self.view.alpha = 99.0f;  
    UIButton *binocsButton = (UIButton*)[self.view viewWithTag:BINOCS_BUTTON_TAG]; 
binocsButton.hidden = YES; 

    } 

所以我的子視圖被稱爲眼睛,我只需要明確的縮略圖竊聽作用下,這一觀點。任何想法都會很棒!

回答

1

我不知道我遵循完全,但你不只是想要將它添加到thumbnailTapped:底部:

[[self.view viewWithTag:EYES_TAG] removeFromSuperview]; 

順便說一句,而不是使用標籤很可能是更好的存儲參考你想作爲視圖控制器類的ivar訪問的視圖。我會添加到您的屬性定義:

@property (nonatomic, retain) UIImageView *eyes; 
@property (nonatomic, retain) UIButton *binocsButton; 

然後綜合它們,當你創建這些對象,分配給該屬性,然後你可以在之後輕鬆訪問它們。使用我在過去發現的標籤會非常煩人,就好像視圖位於複雜視圖層次結構的底部,您無法輕鬆訪問它。如果你這樣做,請記住在你的dealloc中發佈它們(除非你使用ARC)。

+0

嗨,謝謝你的回答。我已經嘗試將其放入,並且仍然是眼睛層位於相機視圖的頂部。我不知道還有什麼可以嘗試的:( – Clive 2012-01-08 11:24:35

+0

我不確定我是否按照你所要做的那樣說實話。你的意思是「眼睛層位於相機視圖的頂部」?你有沒有提到你的「相機視圖」如何出現 – mattjgalloway 2012-01-08 11:27:40

+0

哦,對不起,我可以私密發送它嗎?我已經花了超過30小時在這部分的代碼,它真的傷害了我的大腦! – Clive 2012-01-08 11:53:51