我目前有一個UITableView
與每個單元格包含四個UIButtons。我正在爲每個按鈕放置一張圖片,並在網上下載了一張圖片。當圖像完成下載時,我想讓按鈕淡入。我知道我可以在viewDidLoad
中生成動畫,但我在cellForRowAtIndex
函數中分配了圖像。當我更新UIButton
圖像時,我如何在稍後的時間點動畫UIButton
?如何在UITableView中爲UIButton設置動畫效果?
1
A
回答
1
您應該爲UIButton分配一個標記,甚至可以定義一個整數標記,以便在有四個按鈕時易於閱讀。
#define CELL_BUTTON_ONE 9999
當你創建的第一個按鈕分配本文標籤:
[myButton setTag:CELL_BUTTON_ONE];
[cell addSubView:myButton];
因爲我不知道在哪裏或你如何加載它是一個有點難以說你應該做的圖像。這個想法是你得到了一個UITableViewCell的引用,它擁有你想要被圖像替換的按鈕。任何你可以參考的單元格,你現在可以去:
UIButton *buttonOne = [cell viewWithTag:CELL_BUTTON_ONE];
[button setImage:loadedImage];
0
在-cellForRowAtIndexPath中執行它。當你的圖像完成下載後,你會在你的表格視圖上調用-reloadData。您可以爲單元格中的每個UIButton創建出口,也可以爲它們分配一個標籤。在IB中將它們的alpha設置爲0.0。然後,當調用-cellForRowAtIndexPath時,如果該行/按鈕的圖像可用,請設置它的圖像,然後在UIView動畫塊中調用-setAlpha:1.0。喜歡的東西:
- (UITableViewCell*)tableView:(UITableView*)tv
cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
// get a reference to your cell...
// get reference to the UIButton in the cell
UIButton *button = [cell viewWithTag:tagForButton];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.75];
[button setAlpha:1.0f];
[UIView commitAnimations];
}
唯一的問題我能想到的是,你將需要跟蹤的阿爾法值基於您的數據由於細胞再利用給定的indexPath。因此,如果當前單元格中的button1已將其alpha設置爲1.0,則不需要再次對其進行動畫處理,但您會想要設置尚未設置的其他任何按鈕的alpha。這個圖像可見性狀態是你必須跟蹤的東西。這並不難,但除了設置阿爾法之外,還有更多。讓我知道你是否需要澄清。
相關問題
- 1. 如何爲兩個PNG圖像之間的UIButton設置動畫效果?
- 2. 如何在viewpager中爲片段設置動畫效果?
- 3. 如何在NSImageView中爲內容切換設置動畫效果?
- 4. 如何在javascript/css中爲日誌流設置動畫效果
- 5. 在圖像中設置動畫效果
- 6. 在Raphael.js中設置動畫效果
- 7. 僅在UIBarButtonItem中設置動畫效果
- 8. 在android中設置動畫效果?
- 9. 如何滑動 - 在視圖中爲UITableView設置動畫
- 10. 爲此徽標設置動畫效果
- 11. 如何爲SVG路徑中的「填充」設置動畫效果?
- 12. 如何爲SVG中的一組對象設置動畫效果?
- 13. 如何使用jQuery爲背景位置設置動畫效果?
- 14. 如何移動位圖併爲其設置動畫效果
- 15. 如何在HTML5畫布中爲多邊形大小設置動畫效果?
- 16. 如何在Inno Setup中設置動畫效果
- 17. 如何在Android中設置兩個硬幣的動畫效果
- 18. 如何在UIView中設置動畫效果
- 19. 如何在Android中設置動畫效果?
- 20. 如何在iPhone上手動設置動畫效果?
- 21. 如何爲layer_list的項目設置動畫效果?
- 22. 如何使用CAKeyframeAnimation爲CATransform3D設置動畫效果?
- 23. 如何使用jquery爲背部按鈕設置動畫效果?
- 24. 如何爲addClass()和removeClass jQuery方法設置動畫效果?
- 25. 如何使用JavaScript爲元素programmaticaly設置動畫效果?
- 26. PyQt:如何爲對話框大小設置動畫效果
- 27. 如何爲UITableViewCell的顏色設置動畫效果?
- 28. 如何使用JavaScript爲graphviz設置動畫效果?
- 29. 如何通過多次變換爲CATransform3D設置動畫效果?
- 30. 如何爲GeometryDrawing的屬性設置動畫效果?
+1這是正確的做法。但是,它不應該是[cell.contentView addSubview:myButton]?我認爲這是[buttonOne setImage:loadedImage forState:xxxxx] – David 2010-08-18 15:42:38
我認爲你是對的大衛:) 我通常做自定義單元格,所以我不使用不同的單元格視圖。 – RickiG 2010-08-24 18:17:23