2011-06-08 204 views
0

在iPhone應用程序中,我想生成一個UIScrollView的圖像,其內容大小接近600*41000。如果我使用當前圖形圖像上下文來捕獲滾動視圖圖層,那麼它僅捕獲滾動視圖的可見部分而不是該滾動視圖的整個圖層。我想生成一個UIScrollView的圖像?

我使用下面的代碼:

{ 
    UIGraphicsBeginImageContext(CGSizeMake(600, 4100)); 
    [scrollView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 



    UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(00, 100, 710, 4100)]; 
    img.image = viewImage; 
    [anotherScrollView addSubview:img]; 
} 

回答

0

儘量不要從UIScrollView但是從它的內容視圖生成圖像。當你用類似addSubview:的東西添加一些視圖到UIScrollView時,它們會成爲滾動的內容。當然,UIScrollView可以有多個內容視圖(就像任何UIView可以有多個子視圖一樣),並且這種情況下渲染其圖層會更困難。但是,在只有一個子視圖(內容視圖)的情況下,你可以使用類似(contentView這裏只是一些人認爲,加入到UIScrollView前):

[contentView.layer renderInContext:UIGraphicsGetCurrentContext()];

或:

[[[[scrollView subviews] lastObject] layer] renderInContext:UIGraphicsGetCurrentContext()];

當你想使用多個視圖時,我會更容易(添加一個「根」視圖並添加其他視圖的子視圖),所以你也可以使用上面的代碼。

+0

是的,我希望它的所有內容大小也是不可見的部分。 – 2011-06-08 08:12:12

+0

好的。我的代碼行不同於你的代碼行。替換你的我的並嘗試。 – kpower 2011-06-08 08:23:27

+0

它發送一個錯誤消息,member'contentView'不是結構或聯合。 – 2011-06-08 10:52:38

相關問題