[英]about the animation on the subview of UIScrollView
當我在滾動視圖的子視圖上添加一些動畫,例如擴展或收縮文本字段時,它根本無法工作。 但是,當子視圖添加到簡單的UIView時,效果很好。
這是怎么發生的?
在UIScrollView
中為UITextField
的frame
設置動畫應該沒有問題。
在iOS 6中,“我的動畫沒有動畫”的最常見來源是后來在使用自動布局時嘗試通過調整frame
來使控件動畫化(因為frame
的調整會因大多數人重新應用的約束而受挫。無害的行動)。 您可以通過在Interface Builder中選擇最右邊面板的File Inspector(第一個選項卡),然后查看是否選中了“ Use Autolayout”,來判斷您是否正在使用自動布局:
例如,要在不使用自動布局時對frame
進行動畫處理,假設您的UITextField
具有一個名為textField
的IBOutlet
,則可以執行以下操作:
[UIView animateWithDuration:0.5 animations:^{
CGRect frame = self.textField.frame;
frame.size.width = 280;
self.textField.frame = frame;
}];
但是,使用自動布局時的等效方法不是通過調整frame
來實現,而是通過更改約束的constant
量值來實現。 例如,假設您為UITextField
上的名為textFieldWidthConstraint
的width
約束創建了IBOutlet
,則可以使用類似以下內容的寬度變化動畫:
self.textFieldWidthConstraint.constant = 280;
[UIView animateWithDuration:0.5 animations:^{
[self.view layoutIfNeeded];
}];
如果您認為自己正在使用與選擇的自動布局或非自動布局相對應的適當動畫技術,但仍然無法正常工作,則應向我們展示一些代碼並詳細描述這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.