0

我正在构建一个看起来就像 Apple 的 Dialer 应用程序的 iPhone 应用程序。问题是我有一些问题。Apple的控制器很难使用,并且有很多问题,也许这里有人可以帮助我?

我有一个 TabBar 应用程序,在其中一个选项卡中,我创建了一个 ABPeoplePickerNavigationController。我允许用户删除和编辑联系人,但我有两个问题:1)当我按下编辑 - >删除联系人时,我会从底部弹出一个操作表,但“取消”按钮的部分已经结束TabBar,我无法按下它。只有当我按下它的顶部时,取消按钮才会得到触摸,它下面的 TabBar 不会在顶部。(即使我看到所有内容的操作表)。

2) 例如,当用户编辑联系人姓名然后按返回按钮时,此人的姓名不会更改为联系人列表中的新姓名。

我的架构是:我在 tabBar 按钮的 VC 的“视图确实出现”中创建了 ABPeoplePickerNavigationController。对于添加新人,我创建了一个新控制器并说:self modalviewcontroller:newPerson,所以当我按下完成或取消时,再次调用“ViewDidAppear”,这就是为什么我可以在联系人中看到新人。但是对于编辑联系人,我使用 pushviewcontroller:person,所以当视图弹出时它不会调用 viewDidAppear 函数。

我能做些什么?谢谢你!

4

1 回答 1

0

要解决第一个问题,您必须更改操作表的显示方式。您可以使用以下方式使其从选项卡栏中显示:

[actionSheet showFromTabBar:self.tabBarController.tabBar];

甚至更好地让它显示在窗口的视图中

[actionSheet showInView:[[[UIApplication sharedApplication] delegate] window]];

要解决第二个问题,您必须确保字段的编辑正确结束,然后再点击“返回”按钮。事实上,如果您关注一个文本字段并且在返回上一页之前不退出它,您将不会触发您处理的事件以保存数据。您可以尝试在viewWillDisappear:方法中处理这些情况。

于 2011-06-20T07:35:45.723 回答