지도 목록이 포함 된 UITableView가 있습니다. 항목을 선택하면 새 하위보기가 기본 창에 추가되고 맵이 표시됩니다. 지도 내보기 컨트롤러에서 다음과 같은 방법이 표시 될 때마다 호출되는보기 :UIScrollView 높이 변경
- (void)showMap {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:mapImage]];
float imageHeight = tempImageView.image.size.height;
float targetHeight = scrollView.frame.size.height - mapNavigationController.navigationBar.frame.size.height;
scrollView.contentSize = tempImageView.image.size;
scrollView.maximumZoomScale = 1.0;
scrollView.minimumZoomScale = targetHeight/imageHeight;
scrollView.clipsToBounds = YES;
self.imageView = tempImageView;
[tempImageView release];
[scrollView addSubview:imageView];
scrollView.zoomScale = scrollView.minimumZoomScale;}
새로운있는 UIImageView가있는 UIScrollView에 때마다 추가되고 뷰가 사라질 때있는 UIImageView가 제거됩니다. 이미지가 가로 세로 비율에 맞도록 zoomScale이 계산됩니다.
처음으로 항목을 모두 처음 클릭하면 UIScrollView의 전체 높이가 맵 이미지에 채워지지만 다음에 항목을 클릭하면 UIScrollView 높이가 더 작아집니다. 주 창에는 탭 표시 줄이 있습니다. 내 질문에 이제
:
- 어떻게있는 UIScrollView가 그것의 크기를 변경할 수 있습니까?
- 그리고 targetHeight를 검색하는 다른 동적 인 방법이 있습니까?
미리 감사드립니다.
당신이 이미 알아 냈 으면 좋겠다. 여기에 내 생각을 들려주세요. 내가 생각하기에 이것은 scrollView의 zoomScale을 변경했기 때문일 수 있습니다. 높이는 변경되고 모든 경우에 점점 작아집니다 :) –