UIToolbar消失后解除模态视图控制器
问题描述:
我知道你们有些人可能不熟悉Monotouch,但这肯定是一个普通的iOS问题,而不是一个特定的Monotouch问题。UIToolbar消失后解除模态视图控制器
我重新创建具有类似功能的默认邮件应用程序:
这是我们的应用程序的一个简单的娱乐。这是一个UIView
其中包含一个UITableView
和一个UIToolbar
。它从一个XIB文件(包含附带的视图控制器代码)加载。这个视图是一个UITabController视图(尽管我确信这不应该影响事物?)。
这已经从使用导航控制器推
controller.PushViewController(inboxItem.Controller, true);
(其中inboxItem是我做了一个自定义对象,控制器属性是所述inboxItem的视图控制器)。
按下工具栏上的右手按钮会呈现一种新的模式视图(撰写新消息) - 该功能会执行其任务,无论其被解散的方式如何,在解散后,UIToolbar
消失。但是,如果我点击另一个选项卡,然后再次点击此选项卡,工具栏将重新出现。这是重绘问题吗?
我在做构造我的应用程序的方式做错了吗?或者我碰巧遇到了一些奇怪的iOS/Monotouch错误? (我希望是前者 - 所以我可以改进我的iOS开发)。
答
我解决了这个问题。基本上,当ModalView被呈现然后被解散时,发生了什么事情,toolBar每次被移动了44个像素。
在我的示例中,toolBar位于UITabBar的上方,因此当模式视图被解除时,工具栏被移出视图。我不知道为什么会发生这种情况,但我一定会提交适当的错误报告。
一个快速和非常脏的方法是在显示模态视图时将toolBar上移44个像素,这样当它被解散时,它会将其移回到合适的位置。
是否有一个特别的原因,您手动添加工具栏,而不是使用navigationController的工具栏?同样奇怪的是,似乎是viewcontroller的XIB的所有者是tableView而不是viewcontroller。 – FelixLam 2010-09-29 08:56:22
这是我缺乏iOS知识的地方。我修改了代码,以便使用navigationController的工具栏,我仍然遇到同样的问题。另外,“InboxTableView”是一个viewController的名称(推送该视图的前一个视图)。 – Luke 2010-09-29 09:02:25