2013-07-11 69 views
1

我有一個UIView作爲繪製簽名的面板,我想出了一些代碼來擴展和縮小面板時點擊。它似乎工作得不錯,但代碼似乎很笨拙,我想知道是否有更好的方法來實現這一點。調整水龍頭的視圖

我加了點觸手勢識別器的視圖,迷上它,並有這在我的.m

BOOL clientSigLarge; 

- (IBAction)handleSigTap:(id)sender 
{ 
    CGRect frame = self.clientSigView.frame; 

    if (clientSigLarge) 
    { 
     frame.size.height -= 400; 
     frame.size.width -= 350; 
     frame.origin.x += 350; 
     frame.origin.y += 400; 
     self.clientSigView.frame = frame; 
     clientSigLarge = NO; 
    } 
    else 
    { 
     frame.size.height += 400; 
     frame.size.width += 350; 
     frame.origin.x -= 350; 
     frame.origin.y -= 400; 
     self.clientSigView.frame = frame; 
     clientSigLarge = YES; 
    } 
} 

任何提示讚賞。

回答

1

能讓它更順暢,使用動畫塊,如果你的縮放,比例是固定的(如2X,3X等),然後使用CGAffineTransformScale

[UIView animateWithDuration: 1 
         delay: 0 
        options: (UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction) 
       animations:^{myView.transform = CGAffineTransformScale(CGAffineTransformIdentity, xScaleValue, yScaleVale);} 
       completion:^(BOOL finished) { } 
]; 

所以如果其他條件只是改變X和Y比例值並使用相同的塊。

這裏是一個參考鏈接animations

希望這是你正在尋找

+0

感謝什麼,我給這是一個嘗試。 – Robert

相關問題