2013-05-04 1 views
1

다음 UIActionSheet가 있습니다. 내 탐색 모음에 어떻게 추가합니까? 맨 오른쪽 버튼으로 사용하는 것이 가장 바람직합니다.MonoTouch - 내 ViewController의 상단 탐색 모음에 UIActionSheet 추가

var sheet = new UIActionSheet (""); 
      sheet.AddButton ("Discard Picture"); 
      sheet.AddButton ("Pick New Picture"); 
      sheet.AddButton ("Cancel"); 
      sheet.CancelButtonIndex = 2; 

      // Dummy buttons to preserve the space for the UIImageView 
      for (int i = 0; i < 4; i++) { 
       sheet.AddButton(""); 
       sheet.Subviews[i+4].Alpha = 0; // And of course it's better to hide them 
      } 

      var subView = new UIImageView(); 
      subView.ContentMode = UIViewContentMode.ScaleAspectFill; 
      subView.Frame = new RectangleF(23,185,275,210); 

      // Late Steve Jobs loved rounded corners. Let's have some respect for him 
      subView.Layer.CornerRadius = 10; 
      subView.Layer.MasksToBounds = true; 
      subView.Layer.BorderColor = UIColor.Black.CGColor; 
      sheet.AddSubview(subView); 

      NavigationController.Add(sheet); 

답변

2

ShowFrom 방법을 사용하여 작업 시트를 표시 할 수 있습니다.

특히, ShowFromToolbar은 상단 툴바 버튼의 시트를 보여줍니다.

void ActionMenu() 
    { 
     //_actionSheet = new UIActionSheet(""); 
     UIActionSheet actionSheet = new UIActionSheet (
      "Customer Actions", 
      null, 
      "Cancel", 
      "Delete Customer", 
      new string[] {"Change Customer"}); 

     actionSheet.Style = UIActionSheetStyle.Default; 
     actionSheet.Clicked += delegate(object sender, UIButtonEventArgs args) { 
      switch (args.ButtonIndex) 
      { 
       case 0: DeleteCustomer(); break; 
       case 1: ChangeCustomer(); break; 
      } 
     }; 

     if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) 
      actionSheet.ShowFromToolbar(NavigationController.Toolbar); 
     else 
      actionSheet.ShowFrom(NavigationItem.RightBarButtonItem, true); 
    } 

https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CustomerManagement/CustomerManagement/CustomerManagement.Touch/Views/CustomerView.cs#L67

: 여기

는 다른 방식으로 시트를 사용하면 태블릿 또는 휴대 전화에서인지에 따라 보여주는 예입니다