动画标签栏页面切换

时间:2009-01-07 19:16:54

标签: cocoa-touch

我对iPhone SDK中的整个动画内容感到困惑。我试图通过SDK文档,这个网站进行研究,或者尝试使用Google搜索但没有成功。 我无法让我的方案有效。

  • 我有单个XIB文件,带有标签栏和4个标签。
  • 在特殊情况下,我想要“在代码中”从一个页面切换到另一个页面,所以我打电话给:[tabController selectedIndex: 0]
  • 我需要将此过渡设为动画。有办法吗?
  • 如果用户手动切换标签,则不需要动画过渡

我还有一个问题:

  • 在其中一个标签中,我有一套带有一组项目的UITableView。当用户单击这些项目中的任何一项时,将显示另一组项目(排序层浏览器)
  • 我尝试使用-deleteRowsAtIndexPaths:withRowAnimation:-insertRowsAtIndexPaths:withRowAnimation:设置此过渡动画,但没有运气。
  • 所需的转换是将旧项目设置为左侧,将新项目从右侧转移。

这是我的iPhone开发的第一次,当我迷失了所有的论坛和文档。 :)

提前感谢任何想要帮助我的人!

2 个答案:

答案 0 :(得分:3)

至于你的第一个问题:是的,你可以。 试试这个链接获得一些答案: transition on tab bar sample code

简而言之:您应该通过设置tabBarController.delegate = self来添加委托对象来处理标签栏切换。
然而,这个论坛帖子不会告诉你的是你需要“导入”一些框架才能做到这一点。
首先 - 右键单击​​Xco​​de左侧列表中的框架文件夹,然后添加一个名为“QuartzCore.framework”的现有框架。
比 - 将这些行添加到标签栏持有者(在.h文件中):

#import <QuartzCore/CAAnimation.h>
#import <QuartzCore/CAMediaTimingFunction.h>

关于你的第二个问题,尝试替换数据源(数组或任何东西)或在单元格上创建登录功能以替换其内容。

享受!

答案 1 :(得分:2)

第一个问题:不,你不能动画制表切换。请阅读Apple的人机界面指南。标签旨在立即切换。动画过渡会破坏“标签”范例。

第二个问题:当您点击一行时,用户不希望其他行消失并显示新行。相反,这听起来像UINavigationController的情况。请参阅Apple的示例代码,特别是UICatalog,以获取有关如何实现此目的的示例代码。