【问题标题】:Overlaying image above UIScrollView's tiledlayer在 UIScrollView 的 tiledlayer 上方叠加图像
【发布时间】:2010-01-07 19:51:22
【问题描述】:

我的 iPhone 应用程序向用户展示了一些海量图像,我已经成功地将它们平铺并使用 UIScrollView 让他们可以平移并详细查看其中的一部分。现在我想在该背景图像上方绘制点,并在用户平移/缩放时让它们四处移动,基本上就像在布告板上放置一个图钉一样。我不想永久标记图像,我可能需要移动它或添加更多图像。我的第一次尝试 id 是下面的代码,我想我可以把它放到一个子视图中,它会出现在角落里,然后我会担心将它从原点和类似的东西中偏移。使用此代码,我在 UIScrollView 中的任何地方都看不到我的标记,因此我正在寻求帮助。

myContentView = [[UIView alloc] initWithFrame:imageRect];
UIImageView *imageView = [[UIImageView alloc] initWithImage:marker];
[myContentView.layer addSublayer:tiledLayer];
[myContentView addSubview:imageView];

【问题讨论】:

    标签: iphone uiscrollview uiimageview


    【解决方案1】:

    我要做的是制作另一个与 myContentView 大小相同的 UIView *mapView 来保存 tiledLayer,并让 imageView 和新 mapView 处于同一级别,而不是另一个的子视图。

    myContentView = [[UIView alloc] initWithFrame:imageRect];
    
    UIView  *mapView = [[UIView alloc] initWithFrame:imageRect];
    [mapView addSublayer:tiledLayer];
    [myContentView addSubview:mapView];
    
    UIImageView *imageView = [[UIImageView alloc] initWithImage:marker];
    [myContentView addSubview:imageView];
    

    【讨论】:

    • 我修改了第三行以使其能够编译,但我看到 UIScrollView 没有任何变化。背景图像仍然出现,但没有绘制任何内容。我还颠倒了子视图的顺序,以防它被绘制在它下面,但没有运气。只是为了证明我得到了正确的标记,我尝试将它设置为同时出现在屏幕上的按钮的图像,结果它全是白色的,所以那一端有问题,但因为没有出现大的白色方块在我的背景图片上,我想我还没有画到那个滚动视图中
    • 编辑是为了使它 [mapView.layer addSubLayer:tiledLayer];
    • 抱歉,错误出现在我的代码中的其他地方。您需要的所有建议就是那个小小的 .layer 东西,它解决了我的问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 2014-02-19
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 2021-01-28
    • 2017-08-21
    相关资源
    最近更新 更多