设置UIViewElement的边界 - Monotouch.Dialog

时间:2011-03-31 17:47:10

标签: iphone xamarin.ios monotouch.dialog

我正在尝试在UIViewElement中显示UITextView。我希望Element能够根据文本调整大小。

我希望能够做到这样......

 UITextView textView = new UITextView();



    textView.Font = UIFont.SystemFontOfSize(15);
       var stringSize = textView.StringSize(someArbitraryText, 
                                            textView.Font, 
                                            new SizeF(320, 2000), 
                                            UILineBreakMode.WordWrap);

       textView.Bounds = new RectangleF(0,0,stringSize.Width, stringSize.Height);          
       textView.Center = new PointF(stringSize.Width/2, stringSize.Height/2);
       textView.Editable = false;
       textView.DataDetectorTypes = UIDataDetectorType.All;
       textView.Text = someArbitraryText;
       textView.ScrollEnabled = false;       





   root.Add(
      new Section("My Section:")
      {

         new UIViewElement("My Caption:", textView, false),

      });

这让我很接近,但是将部分UITextView留在Element边界上。我希望UIViewElement的大小足以适合我的自定义视图。有没有办法解决这个问题而不进入并修改UIViewElement源?

1 个答案:

答案 0 :(得分:3)

在你的元素中为IElementSizing添加一个实现,我相信方法是:

float GetHeight(UITableView tableView,NSIndexPath indexPath);

在此方法中返回元素的高度。即TextView.Bounds.Height + 10.我在顶部和底部添加了边框+ 10。