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 "UIViewController+MyBackButton.h"
@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]