Objective c UITableViewCell内未设置UIButton图像动画
我的主要目标是创建一个具有少量自定义属性的展开/折叠tableview。我的逻辑和配置如下:Objective c UITableViewCell内未设置UIButton图像动画,objective-c,uitableview,uibutton,uiviewanimation,autolayout,Objective C,Uitableview,Uibutton,Uiviewanimation,Autolayout,我的主要目标是创建一个具有少量自定义属性的展开/折叠tableview。我的逻辑和配置如下: 我在UITableViewCell上使用AutoLayout,并在其中添加了一个带有箭头图像的UIButton。我在这里使用UIButton,因为图像是一个模板图像,我需要在不编写一行代码的情况下对其着色,并且UIImageView不能对图像着色,除非通过代码完成 在tableView委托的[tableView:(UITableView*)tableView DidSelectRowatineXpath
[tableView:(UITableView*)tableView DidSelectRowatineXpath:(NSIndexPath*)indexPath]
上,我编写了打开(插入行)和/或折叠(删除行)的逻辑[tableView:(UITableView*)tableView cellforrowatinedexpath:(nsindepath*)indepath]调用它。
动画工作
我尝试在动画块内的按钮转换代码后添加以下内容,但未成功:
[myCell setNeedsDisplay]代码>
[myCell setNeedsLayout]
[myCell LayoutifNeed]代码>
谢谢 在@pallzoltan的回答之后,我自己在一个单独的项目中尝试了它,发现我使用了一种错误的方法来检索相关的单元格。我没有使用
cellforrowatinedexpath:
,而是在那个位置对单元格进行排队
我在上面的问题中没有提供太多的信息,这就是为什么大多数人没有明确指出这个问题。您使用的是一种非常古老的动画方法。您应该改为在UIView上使用基于块的方法。是否可以通过设置断点来确保从didSelectRowAtIndexPath调用单元格中的代码?我已经尝试过动画代码,它很有效,这似乎不是问题。@Abizern我认为问题不在于我使用旧方法。我使用了基于块的方法,它给出了相同的结果。@pallzoltan是的,正在调用DidSelectRowatineXpath。