2011-12-09 64 views
1

我想做一個縮放與只有backgroudnd圖像的uiscrollview。 首先這是可能的嗎? 其次,我可以使用界面構建器來做到這一點嗎?捏縮放使用uiscrollview

Basicly我所有ATM是這

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

    scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 
    scrollView.backgroundColor = [UIColor blackColor]; 
    scrollView.delegate = self; 
    scrollView.bounces = NO; 
    scrollView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"auckland-300.jpg"]]; 
    UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"249a-134206f1d00-1342071f5d9.ImgPlayerAUCKLAND.png"]]; 
    scrollView.contentSize = image.frame.size; 
    [scrollView addSubview:image]; 
    scrollView.minimumZoomScale = scrollView.frame.size.width/image.frame.size.width; 
    scrollView.maximumZoomScale = 2.0; 
    [scrollView setZoomScale:scrollView.minimumZoomScale]; 
    self.view = scrollView; 

} 

任何幫助,將不勝感激

+0

這看起來不錯,似乎是什麼問題?你設置它的方式,我不認爲圖像會放大,因爲你已經把它設置爲背景,而不是UIScrollView的孩子。您應該將其添加爲UIImageView。 – Ian

+0

我的部分打字不好 - 您應該將圖像加載到UIImageView中,並將其添加到UIScrollView,如果您想要縮放圖像。您還需要在滾動視圖上設置最大和最小縮放值。如果這是你在說什麼,讓我知道,我會添加它作爲一個實際的答案:) – Ian

+0

你可以檢查我更新的代碼..它仍然沒有縮放因爲某種原因 –

回答

2

您需要實現UIScrollViewDelegate方法。

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView; 

並讓它返回對圖像視圖的引用。這意味着您可能想要管理對滾動視圖中存儲的UIImageView的引用。

哦,是的,它在Interface Builder中是可行的。

+0

很酷,我寧願以編程方式但它總是很好的嘗試兩種方式。我會檢查一下,看看我能否解決問題。感謝您的回覆 :) –