首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MonoTouch.Dialog中设置单元格宽度

如何在MonoTouch.Dialog中设置单元格宽度
EN

Stack Overflow用户
提问于 2012-03-30 17:21:03
回答 1查看 290关注 0票数 2

我在iPad屏幕上使用MonoTouch.Dialog。

我已经创建了一个全屏背景,并在其上绘制了一个MonoTouch.Dialog表。

我希望更改MonoTouch.Dialog表格(或所有单元格)的宽度,同时保留全屏背景不变。我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2013-08-13 22:10:11

您不能直接这样做,因为DialogViewController类似于UITableViewController和UITableView,它们有一些特征来填充其包含的空格。有一个巧妙的技巧可以解决这个问题,你需要为你想要的宽度创建一个“容器”UIView,并将它作为一个子视图添加到UIViewController中。现在创建您的DialogViewController,并将其视图添加为该容器的子视图。对话框将扩展到容器的大小,而不是父视图的大小。

你应该会得到类似这样的结果:

代码语言:javascript
复制
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);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9940216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档