【发布时间】:2011-06-27 20:46:12
【问题描述】:
我有一个带有 3 个标签的标签栏应用程序。第一个选项卡加载嵌套在分页滚动视图中的 UIImageView。如果用户在页面中滚动一会儿,然后单击另一个选项卡,然后单击返回到第一个选项卡,他们将返回到滚动视图中的最后一个页面。
如何让我的第一个标签栏项目在每次点击时重置为 UIImageView 中的初始图像/页面?
谢谢!
【问题讨论】:
-
在
viewWillAppear:中设置滚动视图到第一页还不够好吗? -
不,该方法不起作用,因为用户可以选择在 ScrollView 中初始化“MFMailComposeViewController”,并且在发送/保存/取消电子邮件时,它会将用户返回到第一页(如果我使用您的解决方案),这不是我希望在他们发送电子邮件时发生的事情。只有当他们点击第一个标签栏项目时才会发生这种情况。
-
然后查看
UITabBarControllerDelegate。 -
对,我一直是,但我对 iOS 开发太陌生了,我不知道如何告诉它去做我需要它做的事情。我认为这与
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {}有关 -
在
tabBarController:shouldSelectViewController:中可以使用视图控制器参数来检查第一个标签栏是否即将被选中。如果是这种情况,请将您的滚动视图设置为第一页。在任何情况下,只需返回YES以允许选择正常进行。
标签: iphone objective-c ios uiscrollview scrollview