joh*_*doe 38 uiview uilabel ios
我怎样才能将UILabel置于UIView的中心?我使用以下代码
float width = weatherView.bounds.size.width;
float height = weatherView.bounds.size.height;
[self.label setFrame:CGRectMake(width-100,height-100, 100, 100)];
Run Code Online (Sandbox Code Playgroud)
Pen*_*One 102
怎么样:
[self.label setCenter:view.center];
Run Code Online (Sandbox Code Playgroud)
Nas*_*nas 35
如果标签是视图的子视图:
[self.label setCenter:CGPointMake(view.frame.size.width / 2, view.frame.size.height / 2)]
Run Code Online (Sandbox Code Playgroud)
view.center除非标签和视图具有相同的超视图,否则请勿使用.
如果没有立即连接,那么您必须将视图的中心转换为标签父级的坐标空间.那么你可以使用PengOne的答案和变换点.
Ale*_*ado 20
如果您拥有的是已设置的标签并且您想要将其内容居中,则使用NSTextAlignmentCenter.
cell.menuLabel.textAlignment = NSTextAlignmentCenter;
Run Code Online (Sandbox Code Playgroud)
rok*_*oki 16
更好的解决方案是:
第一:如果您以编程方式执行此操作,则需要使用框架和一些自定义项进行初始化:
// Simple example
int yPosition = 10;
UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0, yPosition, self.view.frame.size.width, 0)];
[label setText: @"Testing..."];
[label setBackgroundColor: [UIColor clearColor]];
[label setNumberOfLines: 0];
[label sizeToFit];
Run Code Online (Sandbox Code Playgroud)
第二:如果你试图将标签放在中间位置,你可以在setNumberOflines选择器调用和0 value分配之后运行它,你的文本将需要所有的行,并且sizeToFit方法被调用以获得良好的自定义,最后:
[self.label setCenter: CGPointMake(self.view.center.x, self.label.center.y)];
Run Code Online (Sandbox Code Playgroud)
这将居中only the X axis,并且Y axis将在框架初始化中保留所需的内容.
PS:它也有效,如果不是,UILabel但取决于你使用的控件将需要另一个简单的自定义或两者都没有,如果你只想以编程方式设计但interface builder设计,只需要运行second code.
| 归档时间: |
|
| 查看次数: |
79233 次 |
| 最近记录: |