天天看點

自定義NavgationBa傳回按鈕

iOS  上UINavigationController視圖壓棧形式,可以在目前視圖無限制push許多視圖,然而一些會覺得自帶的push按鈕不夠美觀,而且當上的上一個頁面title很長的時候,那個傳回按鈕就很長,怎樣定義一個自己傳回按鈕呢?向第三幅圖檔一樣。。。

自定義NavgationBa傳回按鈕
自定義NavgationBa傳回按鈕
自定義NavgationBa傳回按鈕

需要push的視圖裡面定義一個事件

1

2

3

4

5

<code>- (IBAction)pushVC:(id)sender {</code>

<code>    </code><code>NavViewController *navVC = (NavViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@</code><code>"NavViewController"</code><code>];</code>

<code>    </code><code>navVC.title = NSLocalizedString(@</code><code>"設定"</code><code>, nil);</code>

<code>    </code><code>[self.navigationController pushViewController:navVC animated:YES];</code>

<code>}</code>

替換傳回按鈕,定義自定義按鈕

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<code>- (</code><code>void</code><code>)viewDidLoad</code>

<code>{</code>

<code>    </code><code>[super viewDidLoad];</code>

<code>        </code> 

<code>    </code><code>UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];</code>

<code>    </code><code>backBtn.frame = CGRectMake(0, 0, 44, 44);</code>

<code>    </code><code>[backBtn setImage:[UIImage imageNamed:@</code><code>"back.png"</code><code>] forState:UIControlStateNormal];</code>

<code>    </code><code>[backBtn addTarget:self action:@selector(doBack:) forControlEvents:UIControlEventTouchUpInside];</code>

<code>    </code><code>UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];</code>

<code>    </code><code>self.navigationItem.leftBarButtonItem = backItem;</code>

<code>         </code> 

<code>    </code><code>// Do any additional setup after loading the view.</code>

<code>-(</code><code>void</code><code>)doBack:(id)sender</code>

<code>    </code><code>[self.navigationController popViewControllerAnimated:YES];</code>

     本文轉自新風作浪 51CTO部落格,原文連結:http://blog.51cto.com/duxinfeng/1279119,如需轉載請自行聯系原作者

繼續閱讀