【发布时间】:2013-05-21 18:10:29
【问题描述】:
我通过情节提要创建了一个标签。顺序是这样的: 视图 -> 滚动视图 -> 一堆标签。
这是我想要实现的文本输出: 12 月 2 日
包含的文本在不同的 UI 标签中以较小的字母显示。
由于月份名称是动态的并且宽度发生变化,我尝试使用 CGRectMake 来改变 封闭文本的位置。 但它不起作用。我尝试更改函数的参数,但标签保持不变。它不会从情节提要中设置的初始位置移动。
label_days_left.frame = CGRectMake(50, 10, 100, 99);
编辑:
- (void) alignDaysLeft{
//code to align the label just after the match date
CGFloat dateLabelWidth = [label_date.text sizeWithFont:label_date.font].width;
CGFloat dateLabelHeight = [label_date.text sizeWithFont:label_date.font].height;
CGFloat someGap = 0;
CGFloat daysLeftX = label_date.frame.origin.x + dateLabelWidth + someGap;
CGFloat daysLeftY = label_date.frame.origin.y;
[label_date sizeToFit];
//label_days_left.frame = CGRectMake(daysLeftX, daysLeftY, 100, dateLabelHeight);
label_days_left.frame = CGRectMake(50, 10, 100, 99);
label_days_left.text = [NSString stringWithFormat:@"lolo"];
NSLog(@"date width - %f", daysLeftX);
}
label_date 是包含月份和日期的变量。 label_days_left 是我试图放在月份旁边的标签变量。
编辑 2:
编辑 3: 我创建了一个新项目。 在视图上拖了一个标签。 创建了一个出口。 合成它。
并使用以下代码移动它-
[labia setFrame:CGRectMake(0, 100, 5, 99)];
没有用。我做错了什么?
【问题讨论】:
-
您将此代码放在哪里?它在视图控制器委托方法中吗?
-
它在“appname_timeViewController.m”文件中。我在自定义函数中调用它。
-
请与我们分享更多代码。每当您实际更改 UIView 的框架时,它就会更改。必须在其他地方将其更改回其原始值或导致 label_days_left 没有真正连接到视图对象。或者别的什么。
-
@HermannKlecker 我已经添加了使用 'CGRectMake' 的函数。
-
标签是否将其文本更改为“lolo”?您是否尝试检查 label_days_left 不是 ni?这个方法结束时label_days_left的frame是什么?
标签: iphone ios cgrectmake