我有一個UIView,我用initWithFrame
創建,它顯示正確,正好在我想要的位置。UIView以兩種不同的方法報告其中心
爲了測試一些觸摸互動,我做了以下內容:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"center: %f",self.center.x);
}
當我按下視圖(以及類似這樣的其它視圖),它們都正確地記錄了許多有意義的,因爲在他們的中心點視圖的超級視圖的座標空間。
但是,當我在initWithFrame
方法內執行相同的日誌語句時,self.center.x
未在視圖的超級視圖空間中報告座標。相反,它會報告將成爲邊界中心的點,即如果視圖寬度爲100px,則會爲所有視圖報告50
。
我不明白的是這些視圖並未移動,並且幀被清晰地設置在initWithFrame
的開頭,因爲它通過了幀CGRect
並且視圖顯示在正確的位置。那麼爲什麼它不僅僅在這個方法中正確地報告它的中心呢?
你能張貼initWithFrame:方法? – danh 2012-04-20 04:43:24