2

我有一個使用故事板佈局的UIButton。該按鈕只包含一個圖像。點擊按鈕時,我想爲按鈕的大小設置動畫 - 縮小尺寸,然後再次將其恢復爲原始尺寸。正確使用CGAffineTransformMakeScale

我用下面的代碼 -

[UIView animateWithDuration:2.0 animations:^{ 
    _favButton.transform = CGAffineTransformMakeScale(0.5, 0.5); 
}completion:^(BOOL finished) { 
    [UIView animateWithDuration:2.0 animations:^{ 
      _favButton.transform = CGAffineTransformMakeScale(1, 1); 
    }]; 
}]; 

此代碼移動,我不想在屏幕上我的按鈕。我想要修復按鈕的center,並調整大小。

我還沒有在按鈕的故事板中使用任何Top Constraint。我該如何糾正這種行爲?

+3

你有你的工作的廈門國際銀行啓用了自動佈局?如果是這樣,請取消選中檢查器中的自動佈局選項以查看您的視圖並嘗試再次運行您的代碼。如果您啓用了自動佈局選項,即使您沒有明確指定,約束也會在構建時生成。 –

+0

謝謝你@BarbaraRodeker的訣竅! – Siddharth

回答

7

如果您打開了自動佈局,則需要將其關閉。

但這似乎並不符合您的問題,根據您的描述。

我會做以下,因爲它擴展到重新調整到中心:

CGPoint cP = _favButton.center; 

[UIView animateWithDuration:2.0 animations:^ 
{ 
    _favButton.transform = CGAffineTransformMakeScale(0.5, 0.5); 
    _favButton.layer.position = cp; 
} 
completion:^(BOOL finished) 
{ 
    [UIView animateWithDuration:2.0 animations:^ 
    { 
     _favButton.transform = CGAffineTransformMakeScale(1, 1); 
     _favButton.layer.position = cp; 
    }]; 
}]; 

希望這有助於。

0

SWIFT 3

button.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)