我正在为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处绘制图像时,我只能看到右边的一小部分它的底部。
知道为什么会这样吗?
答案 0 :(得分:0)
<强>位置强>
指定接收器在超层坐标系中的位置。动画。
@property CGPoint position
<强>讨论强>
该位置相对于anchorPoint。此属性的值以磅为单位指定。默认值为(0.0,0.0)。
有关“Layer Geometry and Transforms”,Core Animation Programming Guide和bounds属性之间关系的详情,请参阅anchorPoint中的position。
默认情况下,anchorPoint设置为(0.5,0.5)它是图层的中心,因此如果将位置设置为(0,0)图层的中心将位于(0,0) - 仅在右下角将是可见的,您需要将anchorPoint设置为(0,0),然后将position设置为(0,0)。