我正在向我的 ViewController 询问它的 view.center 属性并绘制一个新的 UIView 以这个“中心”为中心......我得到 (160, 250) 作为响应。但是当新的 UIView 绘制它时,它位于中心下方......所以我想知道是谁给了我这个信息以及它与什么有关?如果考虑到状态栏的 20px 高度,这显然是视图中心相对于 WINDOW 的位置。这会将视图的中心向下推 10 像素。但是在绘制 myView 时,它似乎是相对于 ViewController.view 而不是 Window 绘制的,因此它出现在中心下方 20px 处...
我希望 ViewController 给我它的中心 (160, 230),这样我就可以在它的中心绘制......我是否需要手动考虑状态栏并每次从高度中减去 20?还是我忽略了一些视图空间翻译?从 ViewController.m:
- (void)setUpMyView {
// Create my view
MyView *aView = [[MyView alloc] init];
self.myView = aView;
[aView release];
myView.center = self.view.center;
NSLog(@"CenterX: %f, Y: %f", self.view.center.x, self.view.center.y);
CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_2);
myView.transform = transform;
[self.view addSubview:myView];
}
控制台:CenterX:160.000000,Y:250.000000