我目前正在嘗試用一個放在.xib文件中的UIImageView表示的HP量表編程一個遊戲。我宣佈我的IBOutlet如下:UIImageView沒有正確更新邊界
@property (weak, nonatomic) IBOutlet UIImageView *hpGaugeView;
並據此合成。它也鏈接到xib中的UIImageView實例。
在XIB,我hpGaugeView的長度設置爲188和高度爲9
現在,這是我做過什麼在viewDidLoad中:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[hpGaugeView setFrame:CGRectMake(49, 18, 123, 9)];
NSLog(@"%f, %f", [hpGaugeView frame].size.width, [hpGaugeView frame].size.height);
}
雖然NSLog的告訴我hpGaugeView的寬度爲123 ,當我運行它時,長度與xib中的長度相比沒有變化。所有其他的setFrame:或setBound:在其他viewControllers中都能正常工作,所以我只是想知道這裏發生了什麼。
這是竊聽我直了幾個小時一個小而關鍵的問題......
編輯: 當我關掉自動版式,調整大小工作;它創造了一堆其他問題,雖然...
你在使用'AutoLayout'嗎?如果是這樣,'UIImageView'可能會被限制在*** nib ***中的固定大小,並且正在調整大小恢復到原始大小。 – msgambel
這個工程!但我必須放棄所有的限制...... –
嘗試在viewDidLayoutSubviews中設置框架與自動佈局 –