私は、UIPopoverController内でMonoTouch.Dialogを使用して、iPadユーザーに一連の設定を提供します。私のアプリでは、このCalendarView(http://escoz.com/blog/monotouch-calendar-control-is-here/)を使用しているので、ユーザーはアプリケーションの日付を設定できます(設定は、タイムゾーンの設定に使用されます)。 Googleマップ)。UIPopoverController MonoTouch.Dialogを使用すると、ポップオーバーの不要なサイズ変更が発生する
とにかく、私はUIPopoverControllerに関するいくつかのサイジングの問題を経験しています...コンテンツのサイズを設定する方法に関係なく、.Dialogのツリーを深くクリックすると、UIPopoverController自体がサイズ変更され、ビュー。
添付のサンプルは、私が見ているもののサンプルです。あなたは450x420のサイズのコンテンツを持っていることに気づくでしょう。いずれかのオプションをクリックすると、ポップオーバーのサイズが変更されます。私はこのpopoverが常に同じサイズのままでいてほしいです。
私はここで何かが分かりませんか?どんな助けでも大歓迎です。
は宣言しmyPopOverView.csからポップオーバーを起動します:
UIPopoverController myPopOver = new UIPopoverController(new myPopOverView());
btnSearch.TouchUpInside += (sender, e) => {
myPopOver.PopoverContentSize = new SizeF(450f, 420f);
myPopOver.PresentFromRect (btnPopOver.Frame, this.View, UIPopoverArrowDirection.Down, true);
}
myPopOverView.csから:
public override void ViewDidLoad()
{
base.ViewDidLoad();
var root = CreateRoot();
var dv = new DialogViewController (root, true);
this.PushViewController (dv, true);
}
RootElement CreateRoot()
{
return new RootElement ("Find Stuff") {
new Section(){
new RootElement ("States", new RadioGroup (0)){
new Section(){
new RadioElement ("New York"),
new RadioElement ("California"),
new RadioElement ("Texas"),
}
} ,
} ,
new Section(){
new RootElement ("Places", new RadioGroup (0)){
new Section(){
new RadioElement ("New York City"),
new RadioElement ("San Francisco"),
new RadioElement ("Dallas"),
}
} ,
} ,
new Section(){
new RootElement ("Products") {
from sh in "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
select new Section (sh + " - Section") {
from filler in "12345"
select (Element) new CheckboxElement (sh + " - " + filler, true, "kb")
}
} ,
}
} ;
}
ありがとうございました、アヌー、正しい方向へのプッシュ。私はWillShowViewControllerのオーバーライドを持つ私のUINavigationControllerのデリゲートをセットアップしました...チャンピオンのように働いた! (私はビューコントローラのスイッチを使用してビューコントローラあたりの高さを設定することもできます)ありがとう!! –
素晴らしい、嬉しい助けた。実際には、デリゲートメソッドのオーバーライドの代わりに.NETのイベントの候補としてよく似ています。もしそれが望ましい振る舞いを達成したら、答えとしてマークしてください.-) – Anuj