Program Club

UIImageView에서 이미지 제거

proclub 2020. 12. 14. 20:09
반응형

UIImageView에서 이미지 제거


UIImageView사용자 상호 작용에 따라 이미지를 로드합니다 . 상위보기가 처음 표시 될 때 이미지가 선택되지 않았고 이미지보기가 검은 색입니다. 사용자가 해당보기를 떠나 다시 돌아 오더라도 이미지는 그대로 있습니다. 난 노력 했어

myImageView.image = nil;

보기를 떠날 때 이미지는 남아 있습니다. UIImageView다시 검게 보이 도록 이미지를 제거하려면 어떻게 해야합니까?

그만큼

UIImageView

IB를 통해 연결됩니다.


다음으로 설정 UIImageView:

myImageView.image = nil 

를 지우는 올바른 방법 UIImageView입니다. 호출 함수가 반환 될 때 이미지를로드하고 있습니까? 당신 UIImageView이 선언되거나 주 함수의 다른 곳에서 사용됩니까?


진술 시도 [self.imageView setNeedsDisplay];이미지가 전무로 설정 한 후. 이것은 내가 믿는 다음 런 루프 사이클에서 해당 요소의 다시 그리기를 트리거합니다. 일명이 뷰를 '더러운'것으로 표시하고 있으며 다시 그리기가 필요합니다.


내 UIButton의 UIImageView와 비슷한 문제가 있었는데, 여기서 이미지를 사용하여 설정했습니다.

[button setImage:image forState:UIControlStateNormal];

nil로 설정하면 이미지가 제거되지만 getter를 다시 호출하면 이미지가 재설정됩니다. 나는 그것을 다음과 같이 고쳤다.

[button setImage:nil forState:UIControlStateNormal];

대신에

[button.imageView.image = nil];

를 사용하여 UITapGestureRecognizer주어진 클릭 수에 대한 이미지를 제거 할 수 있습니다 .

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onImageTapped:)];

tapGesture.delegate = self;

tapGesture.numberOfTapsRequired = 2; // no. of taps (clicks) on which you want to remove the image

[myImageView addGestureRecognizer:tapGesture];

메소드의 정의를 제공하십시오.

- (void)onImageTapped:(UITapGestureRecognizer*)recognizer
{

    UIImageView *imgView = (UIImageView*) recognizer.view;
    [imgView removeFromSuperview];
}

나는 또한 내가 사용 myImageView.image = nil하거나 [myImageView setImage:nil]이미지가 여전히 표시되어 있더라도 동일한 문제가 발생 했습니다 UIImageView. 둘 중 하나가 작동한다고 가정합니다. 디버그하고 문제가있는 곳을 찾는 데 많은 시간이 소요됩니다. 마지막으로 다음 코드를 사용하여 수행했습니다.

        [UIView beginAnimations:nil context:nil];
        [UIView animateWithDuration:1 animations:nil];
        myImageView.image = nil;
        [UIView commitAnimations];

I don't know why, but when I work as an animation then the image can be clear perfectly.

참고URL : https://stackoverflow.com/questions/1992059/removing-image-from-uiimageview

반응형