iOS坐标系是出界的

时间:2012-09-01 17:39:04

标签: objective-c ios uiview

我正在为iPhone开发我的第一款游戏并遇到这个问题。坐标系似乎有点偏离,很可能是我做错了。

我有一个UIViewController,它被设置为RootViewController。之后viewController调用UIView;

App代表;

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
MyViewController *myViewController = [[MyViewController alloc] init];
[[self window] setRootViewController:myViewController];

的ViewController;

CGRect frame = [[UIScreen mainScreen] bounds];
MyView *v = [[MyView alloc] initWithFrame:frame];
[self setView:v];

查看;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
.
.
.
[myCALayer setBounds:CGRectMake(0.0, 0.0, width, height)];
[myCALayer setPosition:CGPointMake(x, y)];

所以0.0假设是左上角,但是在我的开发环境中,它位于可见屏幕的外侧,仍然在左上角但是当我在0.0处绘制图像时,我只能看到右边的一小部分它的底部。

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

<强>位置

指定接收器在超层坐标系中的位置。动画。

@property CGPoint position

<强>讨论

该位置相对于anchorPoint。此属性的值以磅为单位指定。默认值为(0.0,0.0)。

有关“Layer Geometry and Transforms”Core Animation Programming Guidebounds属性之间关系的详情,请参阅anchorPoint中的position

默认情况下,anchorPoint设置为(0.5,0.5)它是图层的中心,因此如果将位置设置为(0,0)图层的中心将位于(0,0) - 仅在右下角将是可见的,您需要将anchorPoint设置为(0,0),然后将position设置为(0,0)。