iPhone UIScrollview : Button does not respond when located below 480 pixels on Scroll View's child UIView

标签 iphone uiscrollview

我已经在 Interface Builder 中为 iPhone 应用程序构建了一个 View 。它是一个 UIScrollview,有一个 UIView 和 UIView 上的一个 UIButton。我唯一的代码是在 xib 文件所有者类的 viewDidLoad 方法中将 ScrollView 的 contentSize 设置为 320x550。当按钮位于正常 View 区域 (320x480) 内时,按钮会正常响应,但如果将其放置在 Interface Builder 中的这些边界之外,则当我滚动到按钮并单击按钮时,按钮将不会响应。

我错过了什么?我想这可能是我需要在 UIView 上设置的东西。但我不确定那是什么。

最佳答案

即使 UIButton 可见,也不会响应,因为它不在父 View 的边界中。您可以看到其父 View 边界之外的对象,因为绘制所有 subview 是 UIView 的默认行为(clipsToBounds = NO)

要了解真相,请尝试此代码。

UIView *yourUIView = ...
yourUIView.clipsToBounds = YES;
yourUIView.backgroundColor = [UIColor cyanColor];

您将不再看到您的 UIButton。

要解决此问题,请放大您的 UIView。

关于iPhone UIScrollview : Button does not respond when located below 480 pixels on Scroll View's child UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1295182/

相关文章:

ios - UICollectionView 在屏幕加载时自动滚动到底部

iphone - 如何通过parentviewcontroller将数据从一个 View 传递到另一个 View

iphone - UIScrollView 和 CALayers

iOS:具有动态单元格高度的 UITableViewCell 内的 UITableView

iphone - 命令/usr/bin/codesign 失败,退出代码为 1

swift - 在 Swift 中,我如何拥有一个具有内部和外部委托(delegate)的 UIScrollView 子类?

ios - 如何在 View 出现后立即启动核心动画?

ios - UIScrollView 上的 float UIButton

ios - UIWebView scrollView 没有在触摸时调用 scrollViewDidScroll

iphone - 当您的应用以编程方式处于后台模式时,如何在设备屏幕上拍摄快照或制作视频?