1

MonoDevelop 3.0.3 と Monotouch 5.2.12 を使用しています

「UISplitViewController」クラスの「ShouldHideViewController」が iOS 5.1 で呼び出されないのはなぜですか?

「ShouldHideViewController」と「表示/非表示」プロパティを割り当てない場合、左側/メイン ビューは正しく表示されますが、メイン ビュー (viewFees) で「BarButtonItem」を非表示/表示する方法がありません。

以下は、分割ビュー クラスのコードです。

using System;
using MonoTouch.UIKit;

namespace PlazaTimePad 
{
  public class FeesSplitViewController : UISplitViewController
  {
    CalendarMonthViewController viewCalendar;
    FeeListViewController viewFees;

    public FeesSplitViewController () : base()
    {
      this.TabBarItem.Title = "My Time"; 
      viewFees = new FeeListViewController ();
      viewCalendar = new CalendarMonthViewController (viewFees);

      ViewControllers = new UIViewController[] {viewCalendar, viewFees};

      WillHideViewController += (object sender, UISplitViewHideEventArgs e) => {
        viewFees.AddContentsButton (e.BarButtonItem);
      };

      WillShowViewController += (object sender, UISplitViewShowEventArgs e) => {
        viewFees.RemoveContentsButton ();
      };

      ShouldHideViewController += (svc, viewController, inOrientation) => {
        return inOrientation == UIInterfaceOrientation.Portrait || 
               inOrientation == UIInterfaceOrientation.PortraitUpsideDown;
      };
    }
  }
}
4

1 に答える 1

0

私はあなたがやろうとしていることのために、WillRotateまたはあなたがオーバーライドするべきだと思います。DidRotate

ここにリンクがあります:

http://docs.go-mono.com/index.aspx?link=M%3AMonoTouch.UIKit.UIViewController.WillRotate(MonoTouch.UIKit.UIInterfaceOrientation%2CSystem.Double )

http://iosapi.xamarin.com/index.aspx?link=M%3AMonoTouch.UIKit.UIViewController.DidRotate(MonoTouch.UIKit.UIInterfaceOrientation )

これらのドキュメントをネイティブ ヘルプ ブラウザ ([ヘルプ] メニュー -> [ヘルプ]) で参照すると、C# に統合された完全な Apple ドキュメントが表示されます。

于 2012-06-13T12:24:55.393 に答える