改变观点的问题

时间:2011-03-29 07:47:59

标签: objective-c cocoa uiview uiscrollview

嗨我有一个问题我根据名为photoscroller的苹果示例应用程序制作了一个应用程序,我想添加一个登录界面。但是当我添加它时,显示的视图向上移动10-15像素和主窗口在下面是可见的。我问为什么?

我的部分代码:

在视图中加载:

    InfoViewController *infoView =  [[InfoViewController alloc] initWithNibName:nil bundle:nil];
    self.view = infoView.view;
    [infoView release];

然后在验证登录后:

    CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
    pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
    pagingScrollView.pagingEnabled = YES;
    pagingScrollView.backgroundColor = [UIColor blackColor];
    pagingScrollView.showsVerticalScrollIndicator = NO;
    pagingScrollView.showsHorizontalScrollIndicator = NO;
    pagingScrollView.contentSize = [self contentSizeForPagingScrollView];
    pagingScrollView.delegate = self;
    self.view = pagingScrollView;
...

当我添加其他视图时,我不知道为什么会向上推。

感谢每一个答案

1 个答案:

答案 0 :(得分:1)

你能否通过方法- (CGRect) frameForPagingScrollView,如果没有这种方法,你就会更难理解你的代码。

但我想self.view.frame和从该方法返回的CGRect有所不同。 进一步猜测,差异不是10-15像素,而是20像素(对于UIStatusBar的高度),可能在.xib文件中启用但实际上没有显示。