在 iPhone SDK 中将 UIButton 从 UIScrollView 移动到 UIView

Posted

技术标签:

【中文标题】在 iPhone SDK 中将 UIButton 从 UIScrollView 移动到 UIView【英文标题】:Moving UIButton from UIScrollView to UIView in iPhone SDK 【发布时间】:2011-04-11 11:03:22 【问题描述】:

我遇到了一个问题,实际上我的视图控制器中的场景是这样的我想从 uiscrollview 移动到 uiview 的 uibuttons 现在,当我尝试将 uibutton 从 uiscrollview 移动到 uiview 时,它会在从滚动视图移动时隐藏,就像我将 uibutton 从 uiview 移动到 uiscrollview 一样,然后当我的拖动到达滚动视图区域时它也会隐藏。

请帮我解决这个问题

提前谢谢....

【问题讨论】:

【参考方案1】:

您的 UIButtons 每个都有一个超级视图。对于滚动视图中的 UIButtons,UIScrollView 是超级视图。当您有 scrollView.clipsToBounds == YES 时,如果您将滚动视图中的 UIButtons 移到滚动视图的可见区域之外,它们将变得模糊。

有几种可能的解决方案,包括:

    添加代码以在 UIButtons 到达滚动视图边缘时更改其超级视图(但这很棘手,除非有更简单的选择,否则我不会这样做,请查看 Apple's UIView documentation,尤其是(UIView) removeFromSuperview 和 (UIView)addSubview :)。您必须在移动按钮(或跟踪移动)的代码中执行此超级视图切换。 将 UIButtons 添加到作为滚动视图的父级的 UIView,甚至可能是您的 viewcontroller.view(但滚动视图中的 UIButtons 在滚动时将不再随滚动视图一起移动)。您可以将按钮添加到滚动视图后面的视图中,但要使其显示在 上方

【讨论】:

感谢您的时间和建议,我将研究第一个解决方案,因为第二个解决方案似乎不符合我的要求。

以上是关于在 iPhone SDK 中将 UIButton 从 UIScrollView 移动到 UIView的主要内容,如果未能解决你的问题,请参考以下文章

*修改* UIbutton 位置(Iphone SDK)

iPhone SDK:带有自定义图像的 UIButton 可以显示标题吗?

为uibutton背景图像iphone sdk设置渐变颜色(颜色)

如何在 iphone sdk 中将 NSArray/NSMutableArray 转换为 NSFetchedResultsController?

iPhone SDK:切换视图导航控制器

如何在 UIToolbar 完成按钮中将焦点从一个 UIButton 设置到另一个 UIButton