Jor*_*ith 17 iphone objective-c uitableview ipad ios
"分组样式"UITableView的底部(和顶部)单元格具有圆角 - 这是许多Apple iOS和非Apple应用程序中的默认设置.有时通过动画插入单元格,即:
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];
Run Code Online (Sandbox Code Playgroud)
现在这很好用.除外:当单元格插入底部单元格下方或顶部单元格上方时(对于分组样式表格) - 似乎没有平滑动画.
我的意思是顶部/底部单元的角落需要从圆形到不变形(因为它们不再是顶部/底部)的动画 - 这种情况发生在一种非常生涩且不像苹果的时尚.
Apple是否曾在应用程序中执行此操作 - 如果是这样,他们如何顺利完成此操作?否则,怎么办呢?
注意 - 我知道这是一个非常小的细节,但我有点完美主义者......!
看一下iOS附带的Weather App,在配置城市的侧视图中,您将看到一个适合这些动画的表格.正如马克·亚当斯所指出的,在iOS5中,操作系统有一个枚举可以自动检测应该使用哪个动画.如果您想要在iOS5之前定位,那么在您提交删除的委托方法上,您应该根据行位置确定要删除的单元格,如果它是0,那么UITableViewRowAnimationBottom
如果它是您将使用的最后一行UITableViewRowAnimationTop
,如果它是在中间的某个地方,你可能会使用UITableViewRowAnimationTop
这样,以便小组随着动画向上移动,你可能想要玩这个.
由于当前没有真正的(代码完整)答案,因此这里列出了最佳解决方法。
更改你的界面,这样这种不稳定的动画就不会发生。这可能意味着使用普通样式的 tableView 而不是分组样式,或者使用天气应用程序中看到的替代样式(请参阅 Chris Wagner 的答案。谢谢 Chris!)。它甚至可能意味着使用一个完全不同的界面,不包含这个动画——这是我所寻求的解决方案,我设法做出了一个用户体验的改变,它可能比原来的更好。
处理它。苹果似乎在操作系统或其应用程序的一些较少使用的部分中。
在 bugreport.apple.com 上提交错误报告。如果苹果能解决这个问题就好了……我知道这是一个非常小的细节,但这就是我喜欢苹果产品的原因 - 因为他们把小细节做好了!
创建自定义 UITableViewCell 子类。我对此进行了一些思考,虽然这对编程来说有点挑战,但我认为这是可行的。方法如下: 编辑:有关更多详细信息,请参阅 Rab 的答案。还没有编码出来,但当我有时间时可能会尝试一下。
自定义单元格有一个属性,用于定义该单元格是顶部、中间还是底部单元格。这可以由 UITableViewController (或子类等)设置。
自定义单元格的backgroundView属性可以使用石英来自定义绘制圆角等。
每当定义单元格位置的属性发生更改时,backgroundView 的更改都可以进行动画处理。这里最困难的部分是对角的曲线进行动画处理......这可行吗?苹果似乎在通知中心的角落里做到了这一点,当它被
拉下和推上时——所以看起来这是可能的。
如果有人真的想这样做,并将代码放在 gitHub 上……那你就太棒了!你会更好苹果的用户界面;)
归档时间: |
|
查看次数: |
1066 次 |
最近记录: |