如何在 UIScrollView 中绘制大背景?

发布于 2024-09-08 09:26:10 字数 612 浏览 1 评论 0原文

我有一个 UIScrollView,其中包含一个我想用纹理填充的子视图。

- (void)drawRect:(CGRect)rect {

    CGImageRef image_to_tile_ret_ref = CGImageRetain(wood.CGImage);
    CGRect tile_rect;
    tile_rect.size = wood.size;

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextBeginPath(context);
    CGContextMoveToPoint(context, 0, 0);
    CGContextDrawTiledImage(context, tile_rect, image_to_tile_ret_ref);
// Something here to make it fill a big area
    CGContextFillPath(context);

    CGImageRelease(image_to_tile_ret_ref);
}

这似乎填充了滚动视图的可见区域,当我滚动时,其余部分是白色的。如何绘制超出矩形边界的矩形?那很糟糕吗?

I have a UIScrollView that contains a subview that I want to fill with a texture.

- (void)drawRect:(CGRect)rect {

    CGImageRef image_to_tile_ret_ref = CGImageRetain(wood.CGImage);
    CGRect tile_rect;
    tile_rect.size = wood.size;

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextBeginPath(context);
    CGContextMoveToPoint(context, 0, 0);
    CGContextDrawTiledImage(context, tile_rect, image_to_tile_ret_ref);
// Something here to make it fill a big area
    CGContextFillPath(context);

    CGImageRelease(image_to_tile_ret_ref);
}

This just seems to fill the visible area of the scroll view and when I scroll, the rest is white. How do I draw a rectangle beyond the bounds of the rect? Is that bad?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

他是夢罘是命 2024-09-15 09:26:10

如果要画背景色的话这个就太多了。 UIScrollView 可以有背景颜色。该颜色可以从作为图像的图案创建。

您可以创建图案颜色

UIColor * bgColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"imgname.png"]];
scrollView.backgroundColor = bgColor;

If you want to draw a background color in this is too much. UIScrollView can have a background color. That color can be created from a patter that is an image.

You can create a pattern color

UIColor * bgColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"imgname.png"]];
scrollView.backgroundColor = bgColor;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文