我正在尝试在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源?
答案 0 :(得分:3)
在你的元素中为IElementSizing添加一个实现,我相信方法是:
float GetHeight(UITableView tableView,NSIndexPath indexPath);
在此方法中返回元素的高度。即TextView.Bounds.Height + 10.我在顶部和底部添加了边框+ 10。