分享

UIViewController的title属性和其navigationItem的title属性之间的区别

 最初九月雪 2016-08-04
100 作者 fever105 2015.07.25 12:09*
写了67640字,被112人关注,获得了56个喜欢

探究 - UIViewController的title属性和其navigationItem的title属性之间的区别

字数488 阅读831 评论1 喜欢2

探究 - UIViewController的title属性和其navigationItem的title属性之间的区别


UIViewController有两个title属性,一个是其本身的,另一个是其navigationItem属性所指向的UINavagtionItem对象的title属性。

定义比较

首先比较这两个title属性的定义:

  • UIViewControllertitle

    A localized string that represents the view this controller manages.

    一个代表这个视图控制器所管理的视图的本地字符串。

  • UINavagtionItemtitle

    The navigation item’s title displayed in the center of the navigation bar.

    显示在导航栏中间位置的导航项目的标题。


用法比较

从定义上来看,似乎控制器的title(以下简称ctitle)只是用来指代其所管理的视图的,就好像人名一样。而UINavigationItemtitle(以下简称ntitle)会显示在导航栏的中间,就好像当前导航内容的名片一样。

在下面的例子中,创建一个UINavigationController,将其根视图控制器设置为一个UITableVieController,然后分别设置根视图控制器的ctitlentitle属性。查看导航栏中的显示效果,同时向控制台输出ctitlentitle,看它们之间是否存在联系。

  • 情况1,将ntitle设置为self.navigationItem.title,不设置ctitle

代码和控制台输出结果


导航栏效果
  • 情况2,将ctitle设置为self.title,不设置ntitle

代码和控制台输出结果


导航栏效果
  • 情况3,将ctitle设置为self.titlentitle设置为self.navigationItem.title。请注意设置顺序。

代码和控制台输出结果


导航栏效果
  • 情况4,将ntitle设置为self.navigationItem.titlectitle设置为self.title。请注意设置顺序。

代码和控制台输出结果


导航栏效果

结论

通过以上比较得知,ctitlentitle的关系类似于父集与子集。当设置ctitle时,会同时设置ntitle;当设置ntitle时,ctitle为空,如果此后再设置ctitle,则为覆盖ntitle

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多