2014-09-24 91 views
0

所以我有一個UITableView裏面的視圖控制器(不是一個UITableViewController),並支持iphone 6 & 6加我開始實施Autolayout。現在一切正常,並且流暢,問題是我已經在UITableView的每個單元格內調整了UIViews上的動畫,現在動畫並沒有調整內部視圖的大小,這些約束似乎影響了UITableView中的所有內容,即使我只想繼續通過不同的設備爲中心的UITableView的...Autolayout搞亂我的動畫

我使用的UITableView的約束條件是:

  • 中心X對齊的內容視圖
  • 垂直空間(以內容視圖頂部,固定值= 114)
  • 垂直空間(對於b的內容視圖的ottom,具有固定值= 0)
  • 固定寬度上的UITableView(320)

因此,基本上,如果我們對4-5s我們必須使用完整寬度的tableview的iPhone屏幕,同時iphones 6加上有一個320固定寬度的居中tableview。

這是我第一次使用自動版式,所以我不知道如何將這些約束影響在裏面的UITableView細胞意見的動畫,這是我的呼籲:

//before the call 
barraActual.frame = CGRectMake(20, 24, 5, 30); 
barraPromedio.frame = CGRectMake(295, 24, 5, 30); 

//animate 
[UIView animateWithDuration:1.5 animations:^{ 
    barraActual.frame = CGRectMake(20, 24, periodoActual, 30); 
    barraPromedio.frame = CGRectMake(20+periodoActual, 24, periodoAnterior, 30); 
}]; 

編輯:請注意,意見(barraActual & barraPromedio)是UITableViewCell內的UIViews,並且此代碼位於「cellForRowAtIndexPath」內。

如何阻止限制阻止我的視圖上的調整大小? (因爲我試圖設置框架沒有動畫調用,也沒有工作)

或者我如何做一個動畫調用,沿着這些約束?

謝謝!

+0

使用自動佈局,你永遠不會改變框架屬性,因爲這將被自動佈局覆蓋。您只需使用約束來指定佈局。 – 2014-09-24 19:26:56

+0

那麼,AutoLayout與動畫不兼容?我有兩個UIViews(彩色的),我根據數據按比例設置它們的動畫(這就是爲什麼它們在tableviewcell中的原因,因爲它們從不相同),因此用戶可以用圖形方式感知百分比(更好看) – Fdo 2014-09-24 19:31:34

+0

約束條件是UITableView,UIVIews我試圖動畫是在UITableViewCell(在UITableView內) – Fdo 2014-09-24 19:33:10

回答

0

感謝萊因哈德地指導我通過,因爲凡誰可能會發現自己與同誤解我:

同時使用自動版式將沒有效果(有或無動畫)更改視圖的框架。要進行更改,您需要設置新約束或更改現有約束(最有可能是編程)。

我在Interface Builder創建新的約束來管理,我想動畫的看法,現在我的動畫塊看起來是這樣的:

//animate 
[UIView animateWithDuration:1.5 animations:^{ 
    ((NSLayoutConstraint*)(barraActual.constraints[1])).constant = periodoActual; 
    ((NSLayoutConstraint*)(barraPromedio.constraints[0])).constant = periodoAnterior; 
}]; 

晚安:)