菜鸟教程小白 发表于 2022-12-12 14:28:20

ios - UIButton 创建的外部 View 不起作用


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

<p>这是我的下一页代码:</p>

<pre><code>- (void)nextPage {
    if (scrolling) return;
    scrolling = YES;

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

    scrolling = NO;
}
</code></pre>

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

<p> <img src="/image/M066M.png" alt="Image1"/>
<img src="/image/4fKe9.png" alt="Image2"/> </p>

<p>出于测试目的,我已将其启动到一半,只有一半的按钮有效。我已经从另一个 View 顶部的第二个 View 开始它一半可见,并且发生了同样的事情(只有一半的按钮有效)。否则,当我在第一个 View 上点击下一个按钮时,第二个 View 上的按钮不起作用(在初始 View 之外创建的按钮)。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p> View 不会在超出其父 View 范围的情况下接收触摸事件。您需要增加按钮的 superView 的大小。</p>

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

<p>(你可以 <a href="https://stackoverflow.com/a/14875673/1445366" rel="noreferrer noopener nofollow">override this behavior</a> ,但你可能不应该这样做。)</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIButton 创建的外部 View 不起作用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/28787926/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/28787926/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIButton 创建的外部 View 不起作用