2013-10-22 112 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的位置。