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的边界会设置动画,而增大它则不会。我到底做错了什么?哦,好吧,忽略…我发现了…单元格的高度没有正确更新。嗯