2015-02-12 128 views
0

我想知道是否有一種方法可以縮放UIView及其所有子視圖。縮放視圖及其所有內容

當我說縮放時,我不只是在談論框架,我也不想按比例縮放所有字體。

目前我正在做手工:

-(void)setScale:(float)scale 
{ 
    // Apply scale on all subviews 
    myLabel.font = [UIFont myFontWithSize:baseSize*scale]; 
    [myButton setScale:scale] 
    [myCustomView1 setScale:scale] 
    [myCustomView2 setScale:scale] 
} 
-(void)layoutSubviews 
{ 
    // Apply scale on layout 
    myIcon.frame = CGRectMake(posX, posY, baseW*scale, baseH*scale); 

    [...] 
} 

但必須在我所有的觀點來定義的setScale方法,這是相當繁瑣的。

當我wan't規模與一個UIWebView顯示一些HTML文本我有一些問題,這些內容不能這麼容易擴大規模......

我嘗試過另一種方式:當我的視圖縮放時,它不接受userInteraction,所以我嘗試拍攝快照,圖像更容易縮放。 但是它對於我的iphone內存來說太重了,特別是當我想要縮放的視圖是數百個uicollectionviewCells時。

有沒有更快的方法來做到這一點?

回答

0

您可以將縮放轉換應用於頂層視圖。

例如這將由(大50%)1.5的因子縮放視圖中的一切:

view.transform = CGAffineTransformMakeScale(1.5, 1.5);