在UITableViewCell中旋转UIImageView - iPhone SDK

时间:2010-11-13 04:57:34

标签: iphone objective-c uitableview

我的uitableview中的uittableviewcell中有一个uiimageview。我想要完成的是使用计时器旋转每个单元格的所有uiimageview。我知道nstimer和旋转概念是如何进行的,但我不知道如何在UITableView中旋转EACH单元格中的所有图像。有没有办法访问所有uitableviewcells的这些属性?

希望这不会令人困惑,如果它在这里是一个简单的例子: 举例来说,我的uitableview中有5个单元格。 5个细胞中的每一个都有一个uiimageview,因为我的细胞是由我自己制作的,并且有自己的类。我如何旋转所有5个uiimageviews?

感谢您的帮助,

凯文

3 个答案:

答案 0 :(得分:2)

在你的计时器回调函数中你想做这样的事情。

NSArray* cellArray = [yourTableView visibleCells];
for (UITableViewCell* cell in cellArray)
{
  // do your cell by cell rotation here
}

要在为无限动画创建单元格时执行此操作,可以使用以下代码。请记住,如果您正在缓存单元格,那么您只需要在创建单元格时执行此操作,而不是在缓存的单元格上执行此操作。

[UIView beginAnimations:@"looping animation" context:nil];
[UIView setAnimationRepeatCount:0];     // 0 is infinite
[UIView setAnimationDuration:3];
// other animation options here if you'd like, and the duration can be anything, not just 3.

[UIView animateWithDuration:3 delay:0 options:UIViewAnimationOptionRepeat animations: ^{
// do your rotation stuff on your image, in this block, for the cell you will be returning.

} completion:nil];

[UIView commitAnimations];

答案 1 :(得分:0)

使用动画计时器不是最佳方法。

如果您坚持,我建议您只需在表格视图中枚举可见单元格(使用visibleCells tableview方法),并在每个单元格上执行旋转操作。

答案 2 :(得分:0)

控制动画流的UIView的某些方法怎么样?您可以重复旋转动画。