iOS 11 新特性 - 在你的APP中使用LargeTitle

隨著WWDC17以及Apple 2017秋季新品發(fā)布會(huì)的召開(kāi),Apple也在9月20日正式推送了iOS 11的正式版。在iOS 11中,Apple也推出了全新的UI風(fēng)格之剧。

UI風(fēng)格
UI風(fēng)格

在iOS 11中,系統(tǒng)APP使用了這種UI風(fēng)格砍聊。這種風(fēng)格最明顯的變化就是使用了iOS 11的新特性--Large Title和新的SearchController背稼。

原文地址:https://www.zlucy.com/archives/258/

Demo

GitHub:LargerTitleDemo

IMG_2FB945372F6D-1.png
IMG_2FB945372F6D-1.png

Large Title & Table View

設(shè)置Lager Title

  • APP全局使用Large Title
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    // 設(shè)置Large Title偏好為T(mén)rue。
    if (@available(iOS 11.0, *)) {
        [[UINavigationBar appearance] setPrefersLargeTitles:true];
    } else {
        // Fallback on earlier versions
    }
    return YES;
}
  • 單個(gè)ViewController使用Larger Title
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // 設(shè)置Large Title偏好為YES玻蝌。
    if (@available(iOS 11.0, *)) {
        [self.navigationController.navigationBar setPrefersLargeTitles:YES];
    } else {
        // Fallback on earlier versions
    }
}

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    // 設(shè)置Large Title偏好為NO蟹肘。
    if (@available(iOS 11.0, *)) {
        [self.navigationController.navigationBar setPrefersLargeTitles:NO];
    } else {
        // Fallback on earlier versions
    }
}

使用上述代碼設(shè)置后词疼,即可開(kāi)啟Large Title的顯示。

添加Table View

在StoryBoard添加TableView
在StoryBoard添加TableView

在Xcode 9中疆前,XIB和StoryBoard默認(rèn)會(huì)添加Safe Area(安全區(qū))寒跳,而添加在Controller的View上控件的約束也不再以supview為準(zhǔn),而是以Safe Area為準(zhǔn)竹椒。

Safe Area是在iOS 9中添加的特性。如果你不需要使用Safe Area米辐,或需要在舊版本的App中添加Safe Area胸完,可以在XIB或StoryBoard的右側(cè)邊欄中“Show the File inspector”標(biāo)簽下對(duì)“Use Safe Area Layout Guides”選項(xiàng)下進(jìn)行勾選,以添加或刪除Safe Area翘贮。

屏幕快照 2017-09-22 11.55.51.png
屏幕快照 2017-09-22 11.55.51.png

添加Refresh Control

Refresh Control是系統(tǒng)的下拉刷新控件赊窥,配合Table View使用,以實(shí)現(xiàn)系統(tǒng)的下拉刷新效果狸页。

UIRefreshControl *refreshControl = [[UIRefreshControl alloc]init];
[refreshControl addTarget:self action:@selector(beginRefresh:) forControlEvents:UIControlEventValueChanged];
if (@available(iOS 10.0, *)) {
    [self.tableView setRefreshControl:refreshControl];
} else {
    // Fallback on earlier versions
}

刷新完成調(diào)用- (void)endRefreshing NS_AVAILABLE_IOS(6_0);結(jié)束刷新?tīng)顟B(tài)锨能。

Search Controller

添加搜索欄

if (@available(iOS 11.0, *)) {
    UISearchController *searchController = [[UISearchController alloc]initWithSearchResultsController:nil];
    self.navigationItem.searchController = searchController;
} else {
    // Fallback on earlier versions
}

關(guān)于Search Controller的使用在此不再贅述∩衷牛可參考官方Sample Code Table Search with UISearchController

再說(shuō)幾句

  • 由于Large Title及一些API僅在iOS 11提供址遇,所以在調(diào)用前均添加了判斷,以防止低版本系統(tǒng)調(diào)用高版本API造成應(yīng)用崩潰
if (@available(iOS 10.0, *)) {
    // Code...
} else {
    // Fallback on earlier versions
}
  • 在實(shí)際開(kāi)發(fā)中斋竞,在ViewController上添加TableView實(shí)現(xiàn)效果不夠理想倔约,在滑動(dòng)過(guò)程中有明顯卡頓。而直接使用TableViewController實(shí)現(xiàn)效果最為理想坝初,滑動(dòng)無(wú)卡頓現(xiàn)象浸剩。

相關(guān)推薦

iOS 11 新特性 - App密碼自動(dòng)填充實(shí)現(xiàn)
iOS開(kāi)發(fā)之 Handoff 初學(xué)乍練
iOS設(shè)備、Icon鳄袍、LaunchImage分辨率 - 含iPhone X

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绢要,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拗小,更是在濱河造成了極大的恐慌重罪,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件十籍,死亡現(xiàn)場(chǎng)離奇詭異蛆封,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)勾栗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)惨篱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人围俘,你說(shuō)我怎么就攤上這事砸讳∽寥冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵簿寂,是天一觀的道長(zhǎng)漾抬。 經(jīng)常有香客問(wèn)我,道長(zhǎng)常遂,這世上最難降的妖魔是什么纳令? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮克胳,結(jié)果婚禮上平绩,老公的妹妹穿的比我還像新娘。我一直安慰自己漠另,他們只是感情好捏雌,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著笆搓,像睡著了一般性湿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上满败,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天肤频,我揣著相機(jī)與錄音,去河邊找鬼葫录。 笑死着裹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的米同。 我是一名探鬼主播骇扇,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼面粮!你這毒婦竟也來(lái)了少孝?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤熬苍,失蹤者是張志新(化名)和其女友劉穎稍走,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體柴底,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡婿脸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了柄驻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狐树。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸿脓,靈堂內(nèi)的尸體忽然破棺而出抑钟,到底是詐尸還是另有隱情涯曲,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布在塔,位于F島的核電站幻件,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蛔溃。R本人自食惡果不足惜绰沥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望城榛。 院中可真熱鬧揪利,春花似錦、人聲如沸狠持。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)喘垂。三九已至,卻和暖如春绍撞,著一層夾襖步出監(jiān)牢的瞬間正勒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工傻铣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留章贞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓非洲,卻偏偏與公主長(zhǎng)得像鸭限,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子两踏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容