在视图外部创建的 UIButton 不起作用

AKr*_*h95 2 objective-c uibutton ios xcode6

我正在故事板中制作一个应用程序。我想要一个教程式的视图。我决定使用自由格式视图控制器,并用 600x600 的视图填充它(算作页面)。我遇到的问题是,当我有一个 UI 按钮动画到下一页时,在可见视图之外创建的按钮似乎不起作用。我什至移动了一个视图,因此按钮是一半可见的,当我移动视图时,只有一半的按钮起作用。

这是我的下一页代码:

- (void)nextPage {
    if (scrolling) return;
    scrolling = YES;

    [UIView animateWithDuration:0.3 animations:^{
        CGRect frame = self.tutorialView.frame;
        frame.origin.x -= 50; //frame.size.width;
        [self.tutorialView setFrame:frame];
    }];

    scrolling = NO;
}
Run Code Online (Sandbox Code Playgroud)

出于测试目的,我目前仅移动 50 像素,而不是整个页面。

图片1 图片2

出于测试目的,我已经启动了一半,但只有一半的按钮起作用。我已经从第二个视图开始,在另一个视图的顶部可见一半,并且发生了同样的事情(只有一半的按钮起作用)。否则,当我点击第一个视图上的下一个按钮时,第二个视图上的按钮不起作用(在初始视图之外创建的按钮)。

Aar*_*ger 5

当视图超出其超级视图的范围时,不会接收触摸事件。您需要增加按钮的超级视图的大小。

您可以通过设置来可视化此行为clipsToBounds = YES- 然后您将只看到按钮的可触摸区域。

(您可以覆盖此行为,但您可能不应该这样做。)