1

私のアプリでは、TableCell に長押しジェスチャーがあります。Lonpress では、ポップオーバーが開きます。Popover は NavigationController を継承します。コードは次のとおりです。

var navigationController = new UINavigationController();

//Page 1 
var contPage1 = new UIViewController();
this._movePicker = new UIDatePicker();
var btnPage1 = new UIButton();
btnPage1.Frame = new RectangleF(0,260, 300,40);
contPage1.View.AddSubview(this._movePicker);
contPage1.View.AddSubview(btnPage1);

//Page 2
var contPage2 = new UIViewController();
var btnPage2 = new UIButton();
var textField = new UITextField();
textField.Frame = new RectangleF(0,35,300,150);
btnPage2.Frame = new RectangleF(0,260,300,40);
contPage2.View.AddSubview(btnPage2);
contPage2.View.AddSubview(textField);

// startPopover
this.PopoverController = new UIPopoverController(navigationController);
this.PopoverController.PopoverContentSize = new SizeF(300,340);
//Navigate on the first site
navigationController.PushViewController(contPage1, true);
btnPage1.TouchUpInside(s,e) => navigationController.PushViewController(contPage2, true);

this.PopoverController.PresentFromRect(locationinView, btn, UIPopoverDirection.Any, true);

わかった。これはうまくいきます。ポップオーバーが表示されます。FirstView でボタンをクリックすると、2 番目のページに移動します。その後、キーボードが表示され、textField に何かを書き込むことができます。キーボードを閉じると、ポップオーバーのサイズが変わります。これで、iPad のディスプレイの高さ全体が使用されます。

しかし、なぜそれはサイズを変更します。ポップオーバーのサイズを 300、400 に設定しました

4

0 に答える 0