2
iPad画面でMonoTouch.Dialogを使用しています。MonoTouch.Dialog内のセル幅を設定する方法
MonoTouch.Dialogテーブルをプロットしたフルスクリーン背景を作成しました。
MonoTouch.Dialogテーブル(またはすべてのセル)の幅を変更し、フルスクリーンの背景をそのまま残したいとします。これどうやってするの?
iPad画面でMonoTouch.Dialogを使用しています。MonoTouch.Dialog内のセル幅を設定する方法
MonoTouch.Dialogテーブルをプロットしたフルスクリーン背景を作成しました。
MonoTouch.Dialogテーブル(またはすべてのセル)の幅を変更し、フルスクリーンの背景をそのまま残したいとします。これどうやってするの?
DialogViewControllerがUITableViewControllerとUITableViewに類似しているため、これを直接行うことはできません.UITableViewは、その格納スペースを満たすための特性を持っています。あなたが望む幅の「コンテナ」UIViewを作成し、それをUIViewControllerにサブビューとして追加する必要がある場合、これを回避するための巧妙なトリックがあります。 DialogViewControllerを作成し、そのビューをそのコンテナのサブビューとして追加します。ダイアログは親ビューではなくコンテナのサイズに拡大されます。
public class MyController : UIViewController
{
UIView container;
DialogViewController dvc;
public override void ViewDidLoad()
{
base.ViewDidLoad();
container = new UIView();
dvc = new DialogViewController(UITableViewStyle.Grouped, null, true);
dvc.Root = new Root("Title") {
new Section() {
new StringElement("Hello")
}
};
View.AddSubview(container);
}
public override void ViewDidLayoutSubviews()
{
base.ViewDidLayoutSubviews();
// Whatever width you want
float newWidth = View.Bounds.Width/2;
container.Frame = new RectangleF(0, 0, newWidth, View.Bounds.Height);
// This is a workaround so that the TableView fills the container view
// after it is sized.
container.AddSubView(dvc.View);
}
}
:あなたはこのようなもので終わる必要があります