2013-10-22 48 views
0

我是新来的x代码,我想设置UILabel的x,y位置,但我无法弄清楚它为什么不工作。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上 任何帮助表示赞赏,谢谢。

+2

自动布局是否打开?这通常是问题。另外,在.m中,标签名称是复数(不同的名称)。错字? – Joel

+0

在我的代码中,标签的名称是正确的,我只是在我抄录到这里时发生了错误,现在已经进行了编辑。关于自动布局我不知道如何检查 – Caetano

+0

http://stackoverflow.com/questions/9566789/remove-autolayout-constraints-in-interface-builder – Joel

回答

0

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

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