IOS 讲解 UIViewController对象(六)

IOS 讲解 UIViewController对象(六)大哥镇楼!47.CGSize preferredContentSize (IOS 7.0以后可使用)读写,作用为当modalPresentati

欢迎大家来到IT世界,在知识的湖畔探索吧!

IOS 讲解 UIViewController对象(六)

大哥镇楼!

47.

CGSize preferredContentSize (IOS 7.0以后可使用)

读写,作用为当modalPresentationStyle属性设为UIModalPresentationPopover这类弹出类型的视图控制器时。弹出控制器视图的大小就由该属性来确立。例如下面的代码提供的。

IOS 讲解 UIViewController对象(六)

IOS 讲解 UIViewController对象(六)

实际运行结果


48.

UIStatusBarStyle preferredStatusBarStyle(IOS 7.0以后可使用)

只读,作用是当显示当前的视图控制器时,系统状态栏将按该属性的设置的样式显示(黑或白)。可以继承后重写这个属性,返回我们想要的样式。如果设置后不管用请参照之后介绍的childViewControllerForStatusBarStyle属性。


49.

BOOL prefersStatusBarHidden(IOS 7.0以后可使用)

只读,默认为NO。作用是当显示当前的视图控制器时,系统状态栏将按该属性的设置的值显示或隐藏。可以继承后重写这个属性,返回我们想要的样式。如果设置后不管用请参照之后介绍的childViewControllerForStatusBarHidden属性。


50.

UIStatusBarAnimation preferredStatusBarUpdateAnimation(IOS 7.0以后可使用)

只读,默认值为UIStatusBarAnimationFade,作用是当前视图控制器更改状态栏的时候使用的动画效果用哪种类型的,通过重写该属性返回需要的动画类型。该属性仅对prefersStatusBarHidden属性的更改起作用。既仅提供状态栏隐藏和显示时的动画效果。


51.

– (void)setNeedsStatusBarAppearanceUpdate(IOS 7.0以后可使用)

方法类型:动态

参数:无

返回值:无

功能:作用是当改变状态栏的显示或隐藏属性,动画属性以及其他属于状态栏的属性时,都要掉用该方法进行刷新,使状态栏的新的设置生效(视觉上)。


52.

– (nullable UIViewController *)targetViewControllerForAction:(SEL)action sender:(nullable id)sender(IOS 8.0以后可使用)

方法类型:动态

参数:1.action参数为SEL类型,为要查看实例的方法名称。2.sender参数为扩展参数,可以传nil。

返回值:返回用于处理指定action参数操作的视图控制器实例,如果没有视图控制器处理该操作,则为nil。

功能:作用为通过action参数来查看视图控制器的层级关系中找到可以执行该方法的对象。如果视图控制器重写action参数指示的方法,则此方法返回当前视图控制器。如果当前视图控制器未重写该方法,UIKit将遍历视图层次结构并返回重写该方法的第一个视图控制器。如果没有视图控制器处理该操作,则此方法返回nil。比如a视图控制器存在一个UINavigationController中,UINavigationController对象中存在一个test方法,当a控制器调用targetViewControllerForAction方法并将第一个参数设为test时,返回值为则为UINavigationController对象的实例。这个逻辑是符合之上的解释的,需要注意的是视图的层级关系这个概念,指的是当前调用方法控制器的parentViewController属性所指的控制器实例。这玩意有啥用呢?系统的showViewController方法之中就调用了这个方法,来判断到底使用presentViewController来显示控制器,还是调用其他方法调用。下面为例子代码。

IOS 讲解 UIViewController对象(六)

上面的例子中viewController1为UINavigationController的第一个控制器,同时viewController1和UINavigationController中有test方法。但viewController2没有test方法。


53.

– (void)showViewController:(UIViewController *)vc sender:(nullable id)sender(IOS 8.0以后可使用)

方法类型:动态

参数:1.vc参数为要显示视图控制器实例。2.sender参数为扩展参数,可以传nil。

返回值:无。

功能:作用为系统来选择用何种方式来显示视图控制器。机制就是通过targetViewControllerForAction方法来判断当前视图控制器是否重写了showViewController方法,如果重写了则使用,如果未重写则查看当前视图控制器层级关系中进行查找,如果没有则使用当前控制器的presentViewController方法来显示新的控制器。


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/30293.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信