удаление подпредставления - PullRequest
2 голосов
/ 08 января 2012

Я посмотрел здесь и нашел несколько примеров, но ничего не работает, поэтому здесь идет ... У меня есть подпредставление, которое запускается и работает нормально, камера делает снимок, а затем в правом нижнем углу появляется миниатюра, при нажатии которой я хочу, чтобы подпредставление было освобождено, но как бы я ни пытался, я не могу избавиться от подпредставления!

Код:

    -(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 Ответ

1 голос
/ 08 января 2012

Я не уверен, что полностью следую, но разве вы не хотите просто добавить это в конец thumbnailTapped::

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

Кстати, вместо использования тегов, вероятно, лучше хранить ссылку на представления, к которым вы хотите получить доступ, в виде ивара вашего класса контроллера представления. Я бы добавил это к вашим определениям свойств:

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

Затем синтезируйте их, и когда вы создадите эти объекты, присвойте их свойствам, а затем вы сможете получить к ним более легкий доступ позже. Использование тегов, которые я обнаружил в прошлом, становится довольно раздражающим, как будто представление находится в нижней части сложной иерархии представлений, к которой вы не можете легко получить доступ. Если вы это сделаете, не забудьте также выпустить их в вашем dealloc (если вы не используете ARC).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...