2010-08-24 7 views
0

내부에 UIImage가있는 UIScrollView가 있습니다. 다음 코드는 (그것의 폭이있는 ScrollView의 폭과 동일)가 제대로 이미지를 초기화 : 내가 원하는 무엇장치 회전시 UIImage 처리 방법

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    ... 

    imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"map1.jpg"]]; 
    imageView.userInteractionEnabled = YES; 
    imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth); 
    [imageScrollView addSubview:imageView]; 

    imageScrollView.contentSize = [imageView frame].size; 

    ... 

    // calculate minimum scale to perfectly fit image width, and begin at that scale 
    float minimumScale = [imageScrollView frame].size.width/[imageView frame].size.width; 
    //imageScrollView.maximumZoomScale = 1.0; 
    imageScrollView.minimumZoomScale = minimumScale; 
    imageScrollView.zoomScale = minimumScale; 
} 

(위 등)에 완벽하게 맞는 크기의 장치가 회전을 설정하는 것입니다. 다음은 내가 시도한 작업입니다.

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    float newScale = [imageScrollView frame].size.width/[imageView frame].size.width; 
    imageScrollView.zoomScale = newScale; 
} 

몇 가지 이유로 인해 전혀 작동하지 않습니다. 내가 할 수 있었던 유일한 방법은 다른 UIImage를 초기화하고 모든 초기화 과정을 다시 수행하는 것인데, 그것은 나에게 맞지 않습니다.

답변

0

아마 스크롤 뷰의 .contentSize도 변경해야합니다.

+0

불행히도 작동하지 않는 것 같습니다. 문제는 UIImageView와 UIScrollView가 아니라고 생각합니다. –

+0

좋아요, 회전 후 화면에 무엇이 표시되는지, 즉 UIImage의 크기 등은 무엇입니까? –

+0

이미지가 확대 (이상) –