iOS:如何减小FormSheet(Xamarin和MvvmCross)的大小

时间:2014-05-12 05:03:26

标签: ios xamarin.ios xamarin mvvmcross

我正在使用XamarinMvvmCross

开发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);
       }

由于Fomrsheet在点击排序按钮时覆盖了整个屏幕,因此在调用ViewWillAppear期间,已在功能ViewWillDisappear中注册的观察者被删除。

有什么建议吗?有关如何减少Fomrsheet大小的任何建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

响应CategorySelected的代码是什么。

你在哪里解雇sortOptionsViewController?

注册观察员 sortButton.TouchUpInside

在sortOptionsViewController被解除时删除。

显示两个ViewControllers的完整代码以获得更具体的建议