【问题标题】:UILabel setting x,y coordintes not workingUILabel 设置 x,y 坐标不起作用
【发布时间】:2013-10-31 14:25:05
【问题描述】:

我是 x-code 的新手,我正在尝试设置 UILabel 的 x,y 位置,但我不知道为什么它不起作用。

.h

@interface ViewController:UIViewController{
     IBOutlet UILabel *badgeslabel;
}
@property (nonatomic,retain)IBOutlet UILabel *badgeslabel;
@end

.m

@implementation ViewController
@synthesize badgeslabel;

-(void)setBadge{
    [badgeslabel setAlpha:.5];
    [badgeslabel setCenter:CGPointMake(160,30)];
}

setAlpha 有效,但 setCenter 无效。此外,当我将代码放入 IBAction 时,setCenter 可以工作,但我不知道为什么。 我在 xcode 5.0 任何帮助表示赞赏,谢谢。

【问题讨论】:

  • 是否开启了自动布局?这通常是问题所在。此外,在您的 .m 中,标签名称是复数(不同的名称)。错字?
  • 在我的代码中,标签的名称是正确的,我只是在转录到这里时打错了,现在已经编辑了。关于自动布局,我不知道如何检查
  • 那是正确的,它现在可以工作了。非常感谢。

标签: objective-c xcode uilabel


【解决方案1】:

正如 Joel 所说,如果您启用了自动布局,那么 XCode 将不允许您在视图控制器中手动设置 UIViews 的 x 和 y 值,因为它们正在使用约束,尝试这样做很可能会破坏任何约束您已设置或 XCode 已自动添加并扭曲了您在视图控制器中拥有的任何其他 UIView 的位置。

如果您不想使用自动布局,只需转到界面构建器中的文件检查器(单击您的故事板文件)将其禁用,然后取消选中“使用自动布局”。这将恢复到旧的“Spring & Struts”布局方式,并允许您在代码中设置 UIView 的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    相关资源
    最近更新 更多