2013-07-30 34 views
0

當我在scrollview的子視圖上添加一些像擴展或縮小文本框一樣的動畫時,它就不起作用。但是,當子視圖添加到一個簡單的UIView時它運行良好。關於UIScrollView子視圖上的動畫

它是怎麼發生的?

回答

1

UIScrollView內設置UITextField的動畫frame應該沒有問題。

的在IOS 6「我的動畫不是動畫」,後來是動畫通過使用自動佈局時(因爲frame的調整可以通過約束是受挫調整frame的控制的嘗試最常見的來源重新應用最無害的行動)。如果你可以告訴你使用自動佈局或不選擇在Interface Builder中最右側的面板的文件檢查器(第一個選項卡),如果「使用自動佈局」被選中看到:

enter image description here

例如,不使用自動佈局時,動畫frame,假設你已經UITextFieldIBOutlet稱爲textField,你可以這樣做:

[UIView animateWithDuration:0.5 animations:^{ 
    CGRect frame = self.textField.frame; 
    frame.size.width = 280; 
    self.textField.frame = frame; 
}]; 

但相當於在使用自動佈局不通過調整實現,而是通過更改約束'constant值。例如,假設您對您的UITextField稱爲textFieldWidthConstraintwidth約束創建一個IBOutlet,你將動畫的寬度變化的東西,如:

self.textFieldWidthConstraint.constant = 280; 
[UIView animateWithDuration:0.5 animations:^{ 
    [self.view layoutIfNeeded]; 
}]; 

如果您認爲您正在使用對應於相應的動畫技術你選擇了自動佈局還是非自動佈局,但它仍然不起作用,你應該向我們展示一些代碼並更詳細地描述情況。