我正在制作一个计算器,标签中的数字总是会被截断,因此用户无法看到完整的显示。
为了解决这个问题,有人告诉我应该制作可以在屏幕上向左或向右移动标签中的文本的按钮,以便用户可以看到完整的答案和数字。
我该怎么做呢?
我正在制作一个计算器,标签中的数字总是会被截断,因此用户无法看到完整的显示。
为了解决这个问题,有人告诉我应该制作可以在屏幕上向左或向右移动标签中的文本的按钮,以便用户可以看到完整的答案和数字。
我该怎么做呢?
在 iOS6 中,您可以textAlignment
在UILabel
. UIButton
您可以通过属性访问 的标签titleLabel
。对于 iOS5 及更早版本,您不能轻易使用属性字符串,因此您自己计算会更容易。
这基本上涉及查看您放置文本的视图的边界并确定文本将占用多少空间。iOS 有计算给定字体的文本大小的方法。
下面的代码是一个示例,它为视图添加标签并在父视图中parent
右对齐。UILabel
UILabel * addLabelRightAligned(UIView *parent, NSString *text, UIFont *font)
{
CGRect frame = {0, 0, 0, 20};
float padding = 15; // give some margins to the text
CGRect parentBounds = parent.bounds;
// Figure out how much space the text will consume given a specific font
CGSize textSize = [text sizeWithFont:font];
// This is what you are interested in. How we right align the text
frame.origin.x = parentBounds.size.width - textSize.width - padding;
frame.origin.y = parentBounds.size.height / 2.0 - textSize.height / 2.0;
frame.size.width = textSize.width;
UILabel *label = [[UILabel alloc] initWithFrame:frame];
label.text = text;
label.font = font;
label.backgroundColor = [UIColor clearColor];
[parent addSubview:label];
return label;
}