0

我正在尝试自定义 MonoTouch 对话框中部分元素标题中文本的位置。我阅读了您应该如何创建自己的 UILabel 来创建样式文本,然后将其分配给 Section 对象的 HeaderView 。那部分效果很好。

我现在面临的问题是:如何获得与默认无样式 Section 元素中使用的偏移量相似的文本偏移量(参见附图中的比较)。无论我做什么,我似乎都找不到将“样式化部分”文本从屏幕左边缘移开的方法。我尝试更改 RectangleF 声明中指定的 x 坐标,但是在呈现视图时,我指定的任何内容似乎都被忽略了。

这是屏幕截图的支持代码:

Root = new RootElement ("Login2Screen");
var labelHeader = new UILabel();
labelHeader = new UILabel(new RectangleF(0, 0, 320, 48));
labelHeader.Text = "Styled 
labelHeader.TextColor = UIColor.Blue;
labelHeader.BackgroundColor = UIColor.Clear;

var styledSection = new Section(labelHeader);
styledSection.Add(new EntryElement("Username", string.Empty, string.Empty));
styledSection.Add(new EntryElement("Password", string.Empty, string.Empty));
Root.Add(styledSection);

var defaultStyleSection = new Section("Default Section");
Root.Add (defaultStyleSection);

在此处输入图像描述

4

2 回答 2

5

将 labelHeader 添加到 UIView 中,然后将 UILabel 的 x 坐标设置为 10。

var viewLabelHeader = new UIView(new RectangleF(0, 0, 320, 48));
var labelHeader = new UILabel(new RectangleF(10, 0, 320, 48));
labelHeader.Text = "Styled section";
labelHeader.TextColor = UIColor.Blue;
labelHeader.BackgroundColor = UIColor.Clear;
viewLabelHeader.AddSubview (labelHeader);

var styledSection = new Section(viewLabelHeader);

结果:

在此处输入图像描述

于 2013-03-22T23:03:05.613 回答
0

尚未阅读有关元素中文本位置的任何内容Section,但是

labelHeader = new UILabel(new RectangleF(0, 0, 320, 48));

你把它定位在0,0?如果你让它 10,0 它应该移动。即移动x位置到10

labelHeader = new UILabel(new RectangleF(10, 0, 320, 48));
于 2013-03-19T21:21:50.507 回答