Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableViewCell布局子视图:为什么不';我不能得到动画吗?_Ios_Cocoa Touch_Uikit - Fatal编程技术网

Ios UITableViewCell布局子视图:为什么不';我不能得到动画吗?

Ios UITableViewCell布局子视图:为什么不';我不能得到动画吗?,ios,cocoa-touch,uikit,Ios,Cocoa Touch,Uikit,我一直认为我在layoutSubViews:中执行的任何更改都是动画化的? 这是不正确的信息吗? 在我的例子中,我是从UITableViewCell继承的。 控制器被告知用户想要放大单元格,因此我首先使用UITableView动画块来增加行高。高度将平滑地增加到新高度 然后我循环我的可见单元格,设置一个标志并调用setNeedsLayout: 单元格确实会将内容布局并调整到新高度,但没有动画。不,这是不正确的,布局子视图的默认方法不会执行动画,由您开始/提交动画块或使用块动画功能。啊。可以看来我

我一直认为我在
layoutSubViews:
中执行的任何更改都是动画化的? 这是不正确的信息吗? 在我的例子中,我是从
UITableViewCell
继承的。 控制器被告知用户想要放大单元格,因此我首先使用
UITableView
动画块来增加行高。高度将平滑地增加到新高度

然后我循环我的可见单元格,设置一个标志并调用
setNeedsLayout:

单元格确实会将内容布局并调整到新高度,但没有动画。

不,这是不正确的,布局子视图的默认方法不会执行动画,由您开始/提交动画块或使用块动画功能。

啊。可以看来我糊涂了。对UIView框架的更改又如何呢?如果在动画块内,则应设置动画,对吗?绝对是,仅在动画块内。你可以改变一些图层属性(底层的核心动画内容),这些属性会产生动画效果,但是更高级别的UIKit属性需要包装在动画块中。我的一些子视图是动画的,其他的不是(Monotouch代码,但你应该明白这一点)。布局子视图中的所有代码。这一个动画效果很好:lblDmoName.Frame=new RectangleF(This.IconView.Frame.Right+5,10,This.oContentSubView.Bounds.Width-50,18);下面一行代码没有动画:btnFavorite.Center=new PointF(this.oContentSubView.Bounds.Width-70,this.oContentSubView.Bounds.Height/2);。我还注意到,缩小UIImageView的边界会设置动画,而增大它则不会。我到底做错了什么?哦,好吧,忽略…我发现了…单元格的高度没有正确更新。嗯