【问题标题】:UIPageControl render quirk with UIScrollViewUIPageControl 使用 UIScrollView 渲染怪癖
【发布时间】:2009-11-04 20:32:08
【问题描述】:

我正在构建一个 iPhone 应用程序,并且像大多数人一样,我正在尝试使用 UIPageControl 实现 UIScrollView,但是我遇到了一个非常古怪的行为,我认为这可能是一个错误。希望你们中的一个人以前看过这个,因为它让我发疯。

基本上,页面控件工作正常,一切都已连接并且在所有帐户上正常工作,除了 UIPageControl 在 UIView 中的某些位置,UIPageControl 将停止呈现。

我将截取 XIB 窗口的屏幕截图以帮助说明...这是一个非常完美的展示位置:

http://www.jasconi.us/prob1.png

UIPageControl 物理放置在 UIScrollView 上方。效果很好,一切都可见且有效。

接下来的两个不起作用:

http://www.jasconi.us/prob2.png http://www.jasconi.us/prob3.png

第一个简单地放在滚动视图下方。根本不渲染。

第二个放置在滚动视图上方,但技术上并不在其中。也不渲染。

这到底是怎么回事?我试过使用

[[self view] bringSubviewToFront:pageControl];

...无济于事。

有什么想法吗?

【问题讨论】:

    标签: iphone objective-c cocoa-touch iphone-sdk-3.0


    【解决方案1】:

    好的,我找到了答案,它是凯文培根的六度。

    这实际上不是一个软件错误,而是一个 XIB 怪癖,由于某种原因,页面控件的较低位置与自动调整大小和锚点的默认设置相结合似乎将控件丢弃到外层空间。

    如果您关闭所有自动缩放、自动调整大小和自动锚定以及所有其他废话,控件将完全按照您的预期显示。将它放在 ScrollView 上方时看起来可靠的事实是一个奇怪的事实。

    耸耸肩

    希望这对未来的 iPhone 用户有所帮助。

    【讨论】:

    • 您能具体解释一下您所做的更改吗?我遇到了同样的问题 - 出现在 IB 中,但从未出现在模拟器中。我已经尝试了所有可以缩放、调整大小、锚点的组合。任何帮助将不胜感激:-)
    • 看起来我的问题是将控件放在白色背景上!似乎选定的点是白色的,而其他点是白色的,alpha 较低,所以在白色背景上,它们都不可见!
    • 哈哈,好朋友。两个默认的自动大小蒙版是左侧和顶部。我把它们关掉了,它开始出现......幸好我的应用程序只是纵向的,如果我在做横向,我觉得我可能需要其中的一个或多个。
    • 关闭自动调整大括号以及使默认颜色为黑色对我有用。谢谢。
    【解决方案2】:

    您是否检查以确保 numberOfPages 不为 0?

    如果你设置一个断点,你能看到 pageControl 不是 nil 吗?

    【讨论】:

    • 页面在代码中设置并且总是大于0,它不是零,因为我可以在代码中很好地引用它并操纵其中的值。我只是无法看到它。
    【解决方案3】:

    即使在尝试了每个人发布的答案之后,我仍然遇到同样的问题。我的问题最终变得更加“DOH”:

    我在模态表单表单的底部使用 UIPageControl,但是,我忘记在 xib 中将视图的大小设置为表单表单。这导致我的页面控件离开屏幕并且永远不可见。

    道德:在基本视图的 xib 中设置视图大小(完整、表单、页面等)。

    【讨论】:

      【解决方案4】:

      这听起来很简单,但我被它抓住了。

      默认情况下,UIPageControl 期望位于深色背景上。 IE:点为浅灰色,当前页面为白色。

      我自己使用了UIPageControl,没有滚动视图来更改我使用drawRect:渲染的图形的时间范围

      长话短说,图形背景是白色的,所以页面控制器工作,我只是看不到它。解决方案是将图形本身放在子视图中,并使包含页面控件的父级具有深色背景。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-01
        • 2018-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多