菜鸟教程小白 发表于 2022-12-12 11:24:43

ios - 添加调用另一个类中的方法的点击手势


                                            <p><p>我只想为 <code>UIImageView</code> 添加一个点击手势,当用户触摸它时,会调用在另一个类中实现的方法(与包含 <code>UIImageView</code> 的类不同)</code>)。 </p>

<p><strong>我可以这样做吗?如果可以,我该怎么做?</strong></p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你可以这样做。但是您需要 <strong><em>目标类的实例</em></strong>(将在其中执行方法的类)作为 <strong><em>delegate</em></strong> 或手势添加类中的某些内容。 </p>

<pre><code> UITapGestureRecognizer *tapGesture = [initWithTarget:self.delegate action:@selector(doSomething)];
</code></pre>

<p>这里的委托(delegate)将是您在进入该类之前必须设置的目标类的实例。 </p>

<p><strong>编辑</strong> </p>

<p>我会再解释一下。假设您有两个 ViewController 类 VCA 和 VCB。您想通过点击手势从 VCB 调用 VCA 中的方法。 </p>

<p><strong><em>在 VCB.h</em></strong> </p>

<pre><code>@property (nonatomic,assign)VCA *delegate;
</code></pre>

<p><strong><em>在 VCB.m</em></strong> </p>

<pre><code> UITapGestureRecognizer *tapGesture = [initWithTarget:self.delegate action:@selector(doSomething)];
</code></pre>

<p><strong><em>在 VCA.m</em></strong> </p>

<p>您将展示/推送 VCB </p>

<pre><code> VCB * viewController = [init];
viewController.delegate = self;
// push or present viewController
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 添加调用另一个类中的方法的点击手势,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/16814895/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/16814895/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 添加调用另一个类中的方法的点击手势