OGeek|极客世界-中国程序员成长平台

标题: ios - UIButton 创建的外部 View 不起作用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:28
标题: ios - UIButton 创建的外部 View 不起作用

我在 Storyboard 中制作了一个应用程序。我想要一个教程类型的 View 。我决定使用自由形式的 View Controller ,并用 600x600 的 View 填充它,这些 View 算作页面。我遇到的问题是,当我有一个 UI 按钮动画到下一页时,在可见 View 之外创建的按钮似乎不起作用。我什至移动了一个 View ,所以按钮是半可见的,当我移动 View 时,只有一半的按钮有效。

这是我的下一页代码:

- (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;
}

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

Image1 Image2

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



Best Answer-推荐答案


View 不会在超出其父 View 范围的情况下接收触摸事件。您需要增加按钮的 super View 的大小。

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

(你可以 override this behavior ,但你可能不应该这样做。)

关于ios - UIButton 创建的外部 View 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28787926/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4