我正在构建一个看起来就像Apple的Dialer应用程序的iPhone应用程序。 问题是我有一些问题。 Apple的控制器非常难以使用,并且遇到很多问题,也许有人可以帮助我吗?
我有一个TabBar应用程序,并且在标签的一个中我创建了一个ABPeoplePickerNavigationController。 我允许用户删除和编辑联系人,但我有2个问题: 1)当我按下编辑 - >删除联系人我从底部弹出一个操作表,但是TabBar上方的“取消”按钮部分,我不能按它。只有当我按下它的顶部时,取消按钮才会触摸,其下面的TabBar不会在顶部。 (即使我看到了所有事情的动作表)。
2)例如,当用户编辑联系人姓名然后按“返回”按钮时,此人的姓名将不会更改为联系人列表中的新姓名。
我的架构是: 我在tabBar按钮的VC的“视图确实出现”中创建了ABPeoplePickerNavigationController。 对于添加新人我制作一个新的控制器并说:self modalviewcontroller:newPerson,所以当我按完或取消“ViewDidAppear”再次被调用,这就是为什么我可以在联系人中看到新人。 但是对于编辑联系我使用pushviewcontroller:person,所以当视图弹出时它不会调用viewDidAppear函数。
我该怎么办? 谢谢!
答案 0 :(得分:0)
要解决第一个问题,您必须更改操作表的显示方式。您可以使用以下内容从标签栏中显示它:
[actionSheet showFromTabBar:self.tabBarController.tabBar];
甚至更好地让它显示在Windows的视图中
[actionSheet showInView:[[[UIApplication sharedApplication] delegate] window]];
要解决第二个问题,您必须确保在点击“返回”按钮之前正确编辑字段。实际上,如果您在回到上一页之前聚焦文本字段并且不重新签名,则不会触发您处理的事件来保存数据。您可以尝试使用viewWillDisappear:
方法处理这些情况。