【发布时间】:2014-05-12 05:03:26
【问题描述】:
我正在使用 Xamarin 和 MvvmCross 开发 iOS 应用
在我的应用主页中,单击“排序”按钮即可输入Formsheeet。
在首页的ViewDidLoad
private NSObject temp;
public override void ViewDidLoad ()
{
base. ViewDidLoad ();
sortOptionsViewController = new SortOptionsViewController();
sortOptionsViewController.ModalPresentationStyle = UIModalPresentationStyle.FormSheet;
sortOptionsViewController.ModalTransitionStyle = UIModalTransitionStyle.cover Vertical;
sortButton.TouchUpInside += (sender, e) => {
this.PresentViewController(sortOptionsViewController, true, null);
};
}
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
temp = NSNotificationCenter.DefaultCenter.AddObserver("CategorySelected", FilterSites);
}
public override void ViewWillDisappear(bool animated)
{
base.ViewWillDisappear(animated);
if (temp != null)
{
NSNotificationCenter.DefaultCenter.remove Observer(temp);
}
}
在SortOptionsViewController 我是这样通知的
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
NSNotificationCenter.DefaultCenter.PostNotificationName("CategorySelected", indexPath);
}
由于当我单击排序按钮时表单覆盖了整个屏幕,所以在函数ViewWillAppear 中注册的观察者在调用ViewWillDisappear 期间被删除。
有什么建议吗?有关如何减小表单大小的任何建议?
非常感谢!
【问题讨论】:
标签: ios xamarin.ios xamarin mvvmcross