iPhone UIScrollview:当Scroll View的子UIView位于480像素以下时,按钮不响应

Zil*_*oid 2 iphone uiscrollview

我在Interface Builder中为iPhone应用程序构建了一个视图.它是一个UIScrollview,在UIView上有一个UIView和一个UIButton.我唯一的代码是在xib的File Owner类的viewDidLoad方法中将滚动视图的contentSize设置为320x550.当按钮位于普通视图区域(320x480)内时,按钮正常响应,但如果在Interface Builder中放置在这些边界之外,当我滚动到该按钮并单击按钮时按钮将不响应.

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

iwa*_*wat 6

即使它是可见的,你的UIButton也不会响应,因为它不在父视图的边界内.您可以在其父视图的边界外看到对象,因为它是UIView的默认行为,用于绘制所有子视图(clipsToBounds = NO)

要查看真相,请尝试此代码.

UIView *yourUIView = ...
yourUIView.clipsToBounds = YES;
yourUIView.backgroundColor = [UIColor cyanColor];
Run Code Online (Sandbox Code Playgroud)

您将不再看到您的UIButton.

要解决这个问题,请扩大您的UIView.