Xamarin iOS 单点对话框 - 标签重叠文本输入
Xamarin iOS monotouch dialog - labels overlapping text input
当您创建类似于下面的对话框时
然后通过点击单选按钮组(在我的示例行业类型中)导航到新的视图控制器,然后 return 返回您的标签最终与文本重叠。在模拟器和 Apple iPad mini 2.
上测试
有没有人找到无需创建自定义 class 即可解决此问题的方法?
唯一的方法是创建一个新的 class 并通过覆盖 GetCell 方法明确指定约束:
public class BaseEntryElement:EntryElement
{
.....
public override UITableViewCell GetCell (UITableView tv)
{
var c= base.GetCell (tv);
c.ContentView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints ();
c.ContentView.AddConstraints (
c.ContentView.Subviews[0].WithSameCenterY(c.ContentView),
c.ContentView.Subviews[0].AtLeftOf(c.ContentView,BaseEntryElement.offset),
c.ContentView.Subviews[0].AtTopOf(c.ContentView),
c.ContentView.Subviews[1].ToRightOf(c.ContentView.Subviews[0],40),
c.ContentView.Subviews[1].WithSameCenterY(c.ContentView.Subviews[0])
);
return c;
}
}
当您创建类似于下面的对话框时
然后通过点击单选按钮组(在我的示例行业类型中)导航到新的视图控制器,然后 return 返回您的标签最终与文本重叠。在模拟器和 Apple iPad mini 2.
上测试有没有人找到无需创建自定义 class 即可解决此问题的方法?
唯一的方法是创建一个新的 class 并通过覆盖 GetCell 方法明确指定约束:
public class BaseEntryElement:EntryElement
{
.....
public override UITableViewCell GetCell (UITableView tv)
{
var c= base.GetCell (tv);
c.ContentView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints ();
c.ContentView.AddConstraints (
c.ContentView.Subviews[0].WithSameCenterY(c.ContentView),
c.ContentView.Subviews[0].AtLeftOf(c.ContentView,BaseEntryElement.offset),
c.ContentView.Subviews[0].AtTopOf(c.ContentView),
c.ContentView.Subviews[1].ToRightOf(c.ContentView.Subviews[0],40),
c.ContentView.Subviews[1].WithSameCenterY(c.ContentView.Subviews[0])
);
return c;
}
}