代码之家  ›  专栏  ›  技术社区  ›  Daddy

在iPad上以编程方式添加子视图,硬编码帮助

  •  1
  • Daddy  · 技术社区  · 16 年前

    我已经将XIB文件设置为自动调整其长度。

    看一看:

    -(void) animateStatusBarIn {
        float x = window.frame.origin.x;
        float y = window.frame.origin.y;
        float height = 20;
        float width = window.frame.size.width;
        CGRect statusFrame = CGRectMake(x, y-20, width, height);
        iPadUploadStatusBar *statusView = [[iPadUploadStatusBar alloc] initWithNibName:@"iPadUploadStatusBar" bundle:nil];
    
        self.status = statusView;
    
        [statusView release];
    
        status.view.frame = statusFrame;
        [window addSubview:status.view];
    
        [UIView beginAnimations:@"slideDown" context:nil];
        [UIView setAnimationDuration:0.3];
        [UIView setAnimationDelegate:self];
        [UIView setAnimationDidStopSelector:@selector(animationFinished:)];
        statusWindow.frame = CGRectMake(0.0f, 0.0f, 1024.0f, 20.0f);    
        [UIView commitAnimations];
    }
    

    在纵向上一切都是好的,但是就像我说的,它总是决定新的状态栏应该在home按钮的对面。

    顺便说一下,这在AppDelegate.m中,所以我使用的是默认AppDelegate文件中的现有窗口

    1 回复  |  直到 6 年前
        1
  •  1
  •   Raj Pawan Gumdal    16 年前

    首先,你的电话在哪里 -animateStatusBarIn 方法来自?

    你不必为它设置框架 iPadUploadStatusBar 发生旋转时的视图(如果每次方向更改时都调用animateStatusBar方法)。

    iPadUploadStatusBar nib并将其添加为window的子视图或viewController的视图,该视图已经是window的子视图。旋转及其动画都会自动为您处理。