【问题标题】:How to prevent embedded UIView inside a UIScrollview from being clipped如何防止 UIScrollview 内的嵌入式 UIView 被剪裁
【发布时间】:2010-03-19 15:30:46
【问题描述】:

我有一个 iPad UIView 子类(我们将称为 LargerUIView),我通过 drawRect 进行一堆绘图:一旦被问到。这一切似乎都在起作用,并且看起来像我喜欢的那样。我现在正试图让滚动工作(只是在水平开始),但是当我尝试滚动时,下面显示的是黑色(即,似乎从未绘制过)。这并不让我感到惊讶,因为它可能被剪掉了。寻找建议。以下是我目前正在做的事情:

MyAppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    CGRect scrollRect = CGRectMake(0, 0, 768, 1024);
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:scrollRect];

    LargerUIView *view = (LargerUIView *)[viewController view];
    [scrollView addSubview:view];

    [scrollView setContentSize:CGSizeMake(768, pageHeight)];
    [scrollView setContentMode:UIViewContentModeRedraw];
    [scrollView setClipsToBounds:YES];

    [window addSubview:scrollView];
    [scrollView release];

    // Without this next line, the "frontmost" (ie, most recently added subview)
    // is the target uiview - which is not equipped to handle scrolling/UIEvents
    [window sendSubviewToBack:view];

    // Show it all.
    [window makeKeyAndVisible];

    return YES;
}

有什么建议吗?也尝试将“setClipsToBounds”更改为 NO。

【问题讨论】:

    标签: iphone cocoa-touch uiview ipad uiscrollview


    【解决方案1】:

    叹息。多么愚蠢。 LargerUIView 在 InterfaceBuilder 中设置得更小。忘记添加这样的一行:

    [view setBounds:CGRectMake(0, 0, 768, pageHeight)];
    

    哎呀。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      相关资源
      最近更新 更多