다른 UIScrollView의 UIScrollView에 UIImageView가 있습니다 (Apple의 PhotoScroller sample code 기준). 이미지보기이 방법은 실행 후 바로 다른 위치로 이동하지만, scollViewDidClose
방법이 도달하기 전에 :왜이 UIImageView 자체 자동 집계입니까?
- (void)dismiss {
[scrollView removeFromSuperview];
ImageScrollView *isv = [self currentImageScrollView];
UIImage *image = isv.imageView;
image.frame = [self.view convertRect:image.frame fromView:isv];
[self.view insertSubview:image belowSubview:captionView];
[(NSObject *)delegate performSelector:@selector(scrollViewDidClose:)
withObject:self
afterDelay:2.0];
}
지금 여기에 이상한 부분 다음있는 UIScrollView 다시 자체를 기각의 컨트롤러에 호출 할 때,이 메소드를 호출 대리인에게 전화했다. 이미지가 새로운 수퍼 뷰보다 크면 왼쪽 가장자리가 수퍼 뷰의 왼쪽 가장자리와 정렬되도록 점프됩니다. 새로운 슈퍼 뷰보다 작 으면보기의 가장 중앙으로 점프합니다. 이 변경 사항에 애니메이션이 없습니다.
제 궁금한 점은 어떻게하면 그것을 막을 수 있습니까? 수퍼 뷰 (self.view
) 클래스와 이미지 뷰 클래스를 모두 조정하여 호출 할 수있는 메서드를 확인했습니다. 이 메서드가 호출 된 후 이미지 뷰에는 프레임이나 가운데가 설정되지 않고 layoutSubviews
메서드가 슈퍼 뷰에서 호출되는 동안 이 아닌 이미지가 슈퍼 뷰의 가운데 또는 왼쪽으로 이동합니다. 또한 수퍼 뷰에서 autoResizesSubviews
을 끄고 이미지보기의 autoresizingMask
을 UIViewAutoresizingNone
으로 설정하여 동작을 변경하지 않았습니다.
그렇다면 왜 그런 일이 벌어지고 있으며, 그 이유는 무엇입니까? 더 중요한 것은, 어떻게 멈추게할까요?
나는 며칠 동안 내 머리를 때렸다. 모든 조언이나 안내가 크게 감사 할 것입니다.
올바른 코드를 게시하지 않았습니다. UIScrollView에는 imageView 속성이없고 UIImage에는 프레임 속성이 없습니다. – Darren
대런 - 저는 Apple의 [PhotoScroller example code] (https://developer.apple.com/library/ios/samplecode/PhotoScroller)에 기반한 UIScrollView의 하위 클래스를 사용하고 있습니다.이 이미지 뷰어에는 I 단순히 접근자를 추가했습니다. – theory
클래스를'ImageView' 속성으로 하위 클래스 인'ImageScrollView'로 변경했습니다. 그 자리에 고마워. – theory