Just a Computer Graphics Studio & My Life

Navigation Controller原本就有返回按鈕,然而我們想要客製化為包含文字與圖片,可以怎麼做呢?預設是返回圖案和前一視圖的標題,如今我們想換成別的圖案和標題。

backIcon

套用以下程式碼即可做到~

/**
 Theme: Back Button with Text and Image
 IDE: Xcode 7
 Language: Objective C
 Date: 105/01/20
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
    UIImage *backIcon = [[UIImage imageNamed:@"backIcon"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];

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

    [backButton setImage:backIcon forState:UIControlStateNormal];

    [backButton setTitle:@"返回" forState:UIControlStateNormal];

    [backButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];

    [backButton sizeToFit];

    UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:backButton];

    self.navigationItem.leftBarButtonItem = barButton;

我們還可以指定點擊按鈕後的反應,若使用預設則很難抓到觸發時機點。

back1

如此一來,我們便可以在點擊按鈕時做判斷,來決定是不是真要返回前一頁。

back2

參考:How to have a UIBarButtonItem with both image and text

廣告

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: