2010-02-23 84 views
0

我有一个应用程序使用iPhone相机,并在相机上放置覆盖。然而,它一切正常,我设法将UIView旋转到风景,但他们是在视图的顶部20px的差距,虽然我已经将定位设置为(0,0,480,320)。iPhone CameraOverlay视图20px间隙

starContainerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 480.0, 320.0)]  autorelease]; 
UIImageView *overlayViewNew = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,480.0,320.0)]; 
UIImage *OverlayImage = [[UIImage imageNamed:@"overlay.png"] autorelease]; 
overlayViewNew.image = OverlayImage; 
[starContainerView addSubview:overlayViewNew]; 

因此,大家可以看到上面我已经设置了UIView和设置的UIImageView并分配一个UIImage到的UIImageView,然后将其添加到视图中的一个子视图。

这里是我用来旋转视图的代码。

- (void) accelerometer:(UIAccelerometer *)accelerometer 
    didAccelerate:(UIAcceleration *)acceleration { 
    if (fabsf(acceleration.x) > -1.0) { 
     CGAffineTransform landscapeTransform =  CGAffineTransformMakeRotation(degreesToRadian(90)); 
     landscapeTransform = CGAffineTransformTranslate (landscapeTransform, +80.0, +100.0); 
     [self.starContainerView setTransform:landscapeTransform]; 
    } 
    } 

我只是不能似乎得到它来填补这一空白!我还可以说,在开发这个过程中没有涉及火箭科学,但我仍然找不到答案。

回答

0

如果是下面的代码。我玩了下面的数字,这工作。

CGAffineTransform landscapeTransform =  CGAffineTransformMakeRotation(degreesToRadian(90)); 
    landscapeTransform = CGAffineTransformTranslate (landscapeTransform, +80.0, +80.0); 
0

20px的空白可能与状态栏没有正确隐藏有关。请确保你的info.plist中有这个:

<key>UIStatusBarHidden</key> 
<true /> 
+0

是的,我已经在plist文件中启用了此功能。然而,它看起来好像可能与状态栏有关,因为它是这样的大小。 – SteveU 2010-02-26 15:08:03

相关问题