2011-07-19 23 views
0

我似乎無法使用UIViewContentModeScaleAspectFit屬性來縮放我的imageView在我的滾動視圖,以適應滾動視圖的大小。大的UIImage不縮小到滾動視圖的框架

- (void)loadView { 
UIImage* image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.moilum.com/images/atomicongallery/setmenu/setmenu1.jpg"]]]; 
imageView = [[UIImageView alloc]initWithImage:image]; 
    imageView.contentMode = UIViewContentModeScaleAspectFit; 
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; 
UIScrollView* scrollView = [[UIScrollView alloc]initWithFrame:applicationFrame]; 
[scrollView addSubview:imageView]; 
scrollView.contentSize = image.size; 
scrollView.minimumZoomScale = 0.3; 
scrollView.maximumZoomScale = 3.0; 
scrollView.clipsToBounds = NO; 
scrollView.delegate = self; 
self.view = scrollView; 

}

我試圖imageView.contentMode = UIViewContentModeScaleAspectFill爲好。 scrollView.contentmode = UIViewContentModeScaleAspectFill。所有不似乎:(

任何方式工作了!?

乾杯!

回答

0

如果您沒有在UIScrollViewDelegate上實現- (UIView *)viewForZoomingInScrollView:(UIScrollView *)sView方法,UIScrollView將不會調整其zoomScale。

像這樣的事情

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)sView 
{ 
    NSArray *subViews = [sView subviews]; 
    if([subViews count] > 0){ 
    return [subViews objectAtIndex:0]; 
    } 
    return nil; 
} 

(但顯然不是設置一個委託,在所有工作過。)

0

你有沒有試過,

-(void)loadView 
{ 
     CGRect frame = CGRectMake(0, 0, scrollView.frame.size.width, scrolllView.frame.size.height); 
     imageView = [[UIImageView alloc] initWithFrame:frame]; 
     imageView.image = [UIImage imageNamed:@"yourimage.png"]; 
     imageView.contentMode = UIViewContentModeScaleAspectFit; 
     [scrollView addSubView:imageView]; 
     scrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height); 
} 

我寫信我的iPad這個代碼,我覺得這應該工作, 讓我知道,如果你有任何問題。

祝你好運。

+0

謝謝你,我要試試這個! –

+0

嗨Jecht,你的代碼有效!我發現了這個問題。每當我設置委託給滾動視圖。 imageview不會將其自身重新設置爲內容模式。 scrollview.delegate中的某些內容阻止了這種情況的發生。此外,我認爲它可能是viewforScrollView,我實現的方法不允許imageview調整大小。謝謝 :) –

相關問題