菜鸟教程小白 发表于 2022-12-13 02:53:31

ios - 如何在 iOS 中为自定义后退按钮创建可重用代码


                                            <p><p>我创建了一个自定义后退按钮(代码如下)。到目前为止,我一直在通过我的应用程序在每个页面上重新粘贴这段代码。我想知道是否有人可以以我的代码为例,并指导我如何将其放入一个集中位置,这样我就不必再复制和粘贴它了。</p>

<p>我猜这将进入我将创建的自定义类 .h 和 .m 中,但就代码本身在自定义文件中的样子而言,我不确定下一步该做什么。 </p>

<pre><code>// Create custom back button

UIButton *backButton      = ;
UIImage*backButtonImage = ;

[backButton setBackgroundImage:backButtonImage
                      forState:UIControlStateNormal];

[backButton addTarget:self
               action:@selector(backButton)
   forControlEvents:UIControlEventTouchUpInside];

;
UIBarButtonItem *backButtonItem = [ initWithCustomView:backButton];
[ setLeftBarButtonItem:backButtonItem];
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我可能会使用 <code>UIViewController</code> 上的一个类别,其界面如下:</p>

<pre><code>@interface UIViewController (MyBackButton)

- (void)installBackButtonWithAction:(SEL)action;

@end
</code></pre>

<p>实现是您问题中的代码,将 <code>@selector(backButton)</code> 替换为 <code>action</code>:</p>

<pre><code>#import &#34;UIViewController+MyBackButton.h&#34;

@implementation UIViewController (MyBackButton)

- (void)installBackButtonWithAction:(SEL)action {
    UIButton *backButton      = ;
    UIImage*backButtonImage = ;

    [backButton setBackgroundImage:backButtonImage
                        forState:UIControlStateNormal];

    [backButton addTarget:self
                   action:action
         forControlEvents:UIControlEventTouchUpInside];

    ;
    UIBarButtonItem *backButtonItem = [ initWithCustomView:backButton];
    [ setLeftBarButtonItem:backButtonItem];
}

@end
</code></pre>

<p>你可以这样调用它,例如:</p>

<pre><code>- (void)viewDidLoad {
    ;
    ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 iOS 中为自定义后退按钮创建可重用代码,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17138223/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17138223/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 iOS 中为自定义后退按钮创建可重用代码