③(界面篇)、《史上最全iOS八股文面试题》2022年|③(界面篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)
iOS面试题 一共分为【③(界面篇)、《史上最全iOS八股文面试题》2022年|③(界面篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)】笔试题
和面试题
两部分笔试题
一共分为10个 总共613题面试题
一共400题
笔试题 一个10个系列 分别为
①(语法篇) 共147题 已更新
②(常识篇) 共72题 已更新
③(界面篇) 共83题 已更新
④(iOS篇) 共52题 已更新
⑤(操作篇) 共68题 已更新
⑥(数据结构篇) 共23题 已更新
⑦(多线程篇) 共60题 已更新
⑧(网络篇) 共22题 已更新
⑨(多媒体篇) 共59题 已更新
⑩(安全篇) 共27题 已更新
面试题
一共分为3个 总共400题
?(面试篇 1/3) 共127题 已更新
?(面试篇 2/3) 共137题 已更新
?(面试篇 3/3) 共136题 已更新
文章图片
@TOC
笔试题 613题 ??③、笔试题-界面篇(83题) 1.
UIViewController的didReceiveMemoryWaring
方法什么时候会被调用:[单选题]- [ ] A、外接来电
- [ ] B、系统错误
- [x] C、系统内存不足
- [ ] D、系统CPU被占用100%
类
在iPhone应用程序开发时不能
使用:[单选题]- [ ] A、UITableViewController
- [ ] B、UINavigationController
- [x] C、UISplitViewController
- [ ] D、UITableViewController
UIButton
类型的是:[单选题]- [ ] A、UIButtonTypeRoundedRect
- [ ] B、UIButtonTypeContacAdd
- [x] C、UIButtonTypeRadio
- [ ] D、UIButtonTypeInfoLight
- [ ] A、UIViewContentModeScaleToFill
- [ ] B、UIViewContentModeScaleAspectFit
- [x] C、UIViewContentModeScaleAspectFill
- [ ] D、UIViewContentModecenter
UIControl
和UIView
之间的关系,下面说法正确的是:[单选题]- [x] A、UIcontrol继承于UIView
- [ ] B、UIView继承于UIcontrol
- [ ] C、UIcontrol与UIView之间没有继承关系
- [ ] D、UIcontrol与UIView都是直接继承于UIResponder
UIView
的方法中,哪一个在iOS5.0
前后的系统调用机制不同
:[单选题]- [ ] A、addSubView
- [x] B、layoutSubView
- [ ] C、drawRect
- [ ] D、removeFromSuperView
UIImage
的方法中,占用内存最大
的哪个方法:[单选题]- [x] A、imageNamed
- [ ] B、imageWithContentsOfFile
- [ ] C、imageWithData
- [ ] D、三者一样大
UITableView
的delegate
方法:[多选题]- [x] A、(NSInteger)tableview:(UITableView)tableview numberOfRowsInSecion:(NSInteger)section;
- [x] B、(UITableViewCell )tableview:(UITableView)tableview cellForRowAtIndexPath:(NSIndexPath )indexPath;
- [x] C、(CGFloat)tableview:(UITableView)tableview heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- [x] D、(void)tableview:(UITableView)tableview didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
UIResponder
是UIView
的父类?:[单选题]- [x] A、正确
- [ ] B、错误
UIControl
是UIView
的父类?:[单选题]- [ ] A、正确
- [x] B、错误
UITableView
中cell的复用
是由几个数组
实现的:[单选题]- [ ] A、1
- [x] B、2
- [ ] C、3
- [ ] D、4
Button
响应链
中最终得到响应的是:[单选题]- [ ] A、window
- [x] B、Application
- [ ] C、AppDelegate
- [ ] D、UIViewController
UIKit
中,frame
和bounds
的区别是:[单选题]- [ ] A、frame是bounds的别名
- [ ] B、frame是bounds的继承类
- [x] C、frame的参考系是父视图坐标系,bounds的参考系是自身的坐标
- [ ] D、frame的参考系是自身坐标,bounds的参考系是父视图的坐标
UIViewController
在显示过程中,各个方法的调用顺序
是:[单选题]- [x] A、init -> viewDidLoad -> viewDidAppear -> viewDidUnload
- [ ] B、init -> viewDidAppear -> viewDidLoad -> viewDidUnload
- [ ] C、init -> viewDidLoad -> viewDidUnload -> viewDidAppear
- [ ] D、init -> viewDidAppear -> viewDidUnload -> viewDidAppear
imageNamed
方法创建UIImage对象时,与普通的init
方法有什么区别:[单选题]- [ ] A、没有区别.只是为了方便
- [ ] B、imageNamed方法只是创建了一个指针,没有分配其他内存
- [x] C、imageNamed方法将图片加载到内存中后不再释放
- [ ] D、imageNamed方法将使用完图片后立即释放
navigationController
的情况下,要从一个ViewController
切换
到另一个ViewController
应该:[单选题]- [ ] A、[self.navigationController pushViewController: nextViewController animated:YES];
- [ ] B、[self.view addSubview:nextViewController.view];
- [ ] C、[self pushViewController: nextViewController animated:YES];
- [x] D、[self presentModalViewController: nextViewController animated:YES];
key window
:[单选题]- [ ] A、App中唯一的那个UIWindow对象
- [ ] B、可以指定一个key的UIWindow
- [ ] C、可以接收到键盘输入等事件的UIWindow
- [x] D、不可以隐藏的那个UIWindow对象
UIButton
从子类到父类一次继承自:[单选题]- [ ] A、UIView -> UIViewController -> UIcontroller
- [ ] B、UIResponder -> UIControl -> UIView
- [ ] C、UIControl -> UIResponder -> UIViewController
- [x] D、UIControl -> UIView -> UIResponder
UIView
和CALayer
描述正确的是:[多选题]- [x] A、UIView之所以能够显示,是因为其内部的CALayer层对象。
- [x] B、UIView真正的绘图部分,由一个CALayer类来管理。
- [ ] C、无需通过CALayer,即可给UIView添加阴影,圆角大小、边框宽度和颜色等。
- [x] D、访问UIView根绘图和坐标有关的属性,例如 frame、bounds等,实际上内部都是在访问它所包含的CALayer的相关属性。
UIWindow
提供一个画内容的表面,是所有其他视图的根容器,每个应用程序只能拥有一个窗口
?:[判断题]- [ ] A、正确
- [x] B、错误
UIView
视图是所有控件的父类。控件用于响应用户的交互,而UIView则负责内容的显示和布局?:[判断题]- [x] A、正确
- [ ] B、错误
UIControl
类几乎是所有交互控件的父类,如按钮、滑块、文本框等。所以UIControl类负责根据触摸事件触发相应的动作?:[判断题]- [x] A、正确
- [ ] B、错误
第一个视图控件
就是UIWindow
?:[判断题]- [x] A、正确
- [ ] B、错误
窗口对象
并没有像关闭框
或标题框
这样的区域,所以用户不能直接对其进行关闭
?:[判断题]- [x] A、正确
- [ ] B、错误
macOS
中,NSWindow
的父类是NSResponder
。在iOS
系统中,UIWindow
的父类是UIResponder
?:[判断题]- [ ] A、正确
- [x] B、错误
macOS
中,NSWindow
的父类是NSResponder
。在iOS
系统中,UIWindow
的父类是UIView
?:[判断题]- [x] A、正确
- [ ] B、错误
UIView
的alpha
属性是一个浮点值
,取值范围在0~1.0,表示从完全透明
到完全不透明
:[判断题]- [x] A、正确
- [ ] B、错误
UIView
的alpha
属性设置为0
之后,以下描述正确的是:[多选题]- [x] A、当前的UIView及其子视图都会被隐藏,而不管子视图的alpha值是多少。
- [ ] B、当前的UIView会被隐藏,而子视图不会受到父视图alpha值的影响。
- [ ] C、当前的UIView不会从响应者链中移除。仍然可以接受触摸事件。
- [x] D、当前的UIView会从响应者链中移除。而响应者链中的下一个会成为响应者。
UIView
的isHidden
属性设置为true
之后,以下描述正确的是:[多选题]- [x] A、当前的UIView及其子视图都会被隐藏,而不管子视图的hidden值是多少。
- [ ] B、当前的UIView会被隐藏,而子视图不会受到父视图isHidden值的影响。
- [x] C、当前的UIView会从响应者链中移除。而响应者链中的下一个会成为响应者。
- [ ] D、当前的UIView不会从响应者链中移除。仍然可以接受触摸事件。
- [x] A、正确
- [ ] B、错误
iOS坐标系统
中,坐标的原点
位于:[单选题]- [ ] A、左下角
- [ ] B、右上角
- [x] C、左上角
- [ ] D、右下角
UIView
的frame
和bounds
属性,以下描述正确的是:[多选题]- [x] A、UIView的frame(origin,size)属性,定义了一个矩形,描述一个UIView的大小和父坐标系的位置。
- [ ] B、UIView的frame(origin,size)属性,定义了一个矩形,描述一个UIView的大小和自身坐标系的位置。
- [x] C、UIView的bounds(origin,size)属性,定义了一个矩形,描述一个UIView的大小和自身坐标系的位置。
- [ ] D、UIView的bounds(origin,size)属性,定义了一个矩形,描述一个UIView的大小和父坐标系的位置。
UIView
视图进行放大、缩小或旋转
时。center
属性的值会发生改变
?:[判断题]- [ ] A、正确
- [x] B、错误
CGAffineTransform
仿射转换
,可以对UIView视图进行哪些变换
的操作:[多选题]- [x] A、缩放
- [x] B、旋转
- [ ] C、隐藏
- [x] D、位移
UIViewController
包含以下哪些功能
?[多选题]- [x] A、UIViewController类负责创建其管理的视图,并在内存较低时将它们从内容中移出。
- [x] B、可以通过视图控制器来将新的视图内容,以模态窗口的方式显示在当前视图的上方。
- [x] C、视图控制器可以响应设备的方向变化,对视图进行相应的调整。以适应新的方向。
- [x] D、一些特殊的视图控制器,如导航视图控制器、标签视图控制器、可使视图的管理更加方便和规范。
UITabBarController
,以下描述正确的是:[多选题]- [x] A、UITabBarController不能添加到别的视图控制器中。
- [ ] B、UITabBarController可以添加到别的视图控制器中。
- [x] C、UITabBarController的Tab bar可以放置在屏幕的底部或者顶部。
- [ ] D、UITabBarController的Tab bar只能放置在屏幕的底部。
UINavigationController
,以下描述正确的是:[多选题]- [x] A、UINavigationController导航控制器用于显示多屏并具有一定层次结构的内容,是构建分成应用程序的主要工具。
- [x] B、UINavigationController维护了一个视图控制器栈,所有的子视图控制器都在于堆栈中。
- [x] C、和UITabBarController相比,UINavigationController是作为栈来实现的。它更适合用于处理和显示分层的数据。
- [x] D、UINavigationController导航控制器在管理、切入和切出多个内容页面,与UITabBarController类似。
UIControl
类的UIControlEvent
主要包含哪三种事件
?:[多选题]- [ ] A、基于通知的控件事件
- [x] B、基于值得控件事件
- [x] C、基于触摸的控件事件
- [x] D、基于编辑的控件事件
UIButton
是UIView
的一个子类?:[判断题]- [x] A、正确
- [ ] B、错误
Target-Action机制
可以对同一个控件绑定
多个Action
:[判断题]- [x] A、正确
- [ ] B、错误
tintColor
属性,那么这个使用将使用父类
中的tintColor
属性?:[判断题]- [x] A、正确
- [ ] B、错误
UIButton
中受到tintColor
影响的范围有title
和image
的颜色
?:[判断题]- [x] A、正确
- [ ] B、错误
NSLineBreakMode
的枚举
成员,描述正确的是:[多选题]- [x] A、ByWordWrapping表示以单词为显示单位显示,后面部分省略不显示
- [x] B、ByCharWrapping表示以字符为显示单位显示,后面部分省略不显示
- [x] C、ByClipping表示剪切与文本宽度相同的内容长度,后半部分被删除
- [x] D、ByTruncatingHead 表示开头省略,显示尾部文字内容
UISwitch
的大小
设置是无效
的:[判断题]- [x] A、正确
- [ ] B、错误
UITextField
支持代理模式delegate
,但是不支持Target-Action的机制
?[判断题]- [ ] A、正确
- [x] B、错误
UITableView
可用于以下哪些场合:[多选题]- [x] A、方便用户浏览有层次结构的数据
- [x] B、提供一个可供选择的列表
- [x] C、显示一系列数据地索引列表
- [x] D、利用分组结构,展示细节信息和更详细的设置
UITableViewCell
进行哪些操作:[多选题]- [x] A、自定义单元格的文字标题、图标、背景灯属性。
- [x] B、对单元格进行选择和高亮操作。
- [x] C、配置单元格的附件视图。
- [x] D、对单元格进行添加、删除、改变位置等操作。
UICollectionView
和UICollectionViewController
,描述正确的是:[多选题]- [x] A、UICollectionView和UICollectionViewController类是iOS 6 新引进的API。
- [x] B、标准的UICollectionView对象包括三个部分:Cells、Supplementary Views、Decoration Views,这三部分都是UIView的子类。
- [x] C、UICollectionView类负责管理数据地有序集合,并使用自定义布局的模型呈现这些数据。
- [x] D、UICollectionView 除了多列布局之外,还可以实现平铺的布局、圆形的布局和更多的自定义布局。
iOS
中只有继承UIResponder
类的对象才能处理触摸
事件?[判断题]- [x] A、正确
- [ ] B、错误
UIViewController
视图控制器、UIApplication
都是继承
自UIResponder
?[判断题]- [x] A、正确
- [ ] B、错误
UIWindow
对象无法处理某个触摸事件,则该触摸事件将被丢弃[判断题]- [ ] A、正确
- [x] B、错误
UIGestureRecognizer
类包含以下哪些手势:[多选题]- [x] A、UIPanGestureRecognizer
- [x] B、UIRotationGestureRecognizer
- [x] C、UILongPressGestureRecognizer
- [x] D、UISwipeGestureRecognizer局。
UITapGestureRecognizer
属于非连续类型
的手势?[判断题]- [x] A、正确
- [ ] B、错误
UIPinchGestureRecognizer
属于非连续类型
的手势?[判断题]- [ ] A、正确
- [x] B、错误
Storyboard
故事版功能是在哪个iOS版本
发布的:[单选题]- [ ] A、iOS4
- [x] B、iOS5
- [ ] C、iOS6
- [ ] D、iOS7
Storyboard
故事版功能 描述正确的是[多选题]- [x] A、通过简单地拖拽、往视图控制器添加各种界面控件,可以降低学习的难度。提供开发工作的效率和趣味。使开发工作更加人性化。
- [x] B、可以更好地查看和理解项目中所有页面的外观,以及页面之间的链接跳转关系。
- [x] C、Storyboard快速实现了视图之间的跳转关系。
- [x] D、通过重写 prepareForSegue方法,将视图控制器的所有跳转逻辑都汇聚一起,方便进行统一的界面跳转和参数传递。
Storyboard
故事版功能 描述正确的是[多选题]- [x] A、Storyboard通过 Cell ProtoType原型,以及Static静态Cell的特性,让表格控制器实现起来更容易
- [x] B、通过Storyboard可以通过拖拽建立约束关系,从而快速实现各分辨率的适配。
- [x] C、当Storyboard包含越来越多的视图控制器时,打得开Storyboard将越来越慢。
- [x] D、通过将常见的功能比如注册、分享模块独立成一个Storyboard,可以实现功能的模块化和重复利用。
Storyboard
事实上是由XML
可扩展标记语言构成的文本文件
[判断题]- [x] A、正确
- [ ] B、错误
Single View Application模板
创建的项目,将自带
哪两个Storyboard文件
?[多选题]- [ ] A、Home.storyboard
- [x] B、Main.storyboard
- [ ] C、Index.storyboard
- [x] D、LaunchScreen.storyboard
storyboard
的连接
方法?[单选题]- [ ] A、@IBMethod
- [ ] B、@IBOutlet
- [x] C、@IBAction
- [ ] D、@IBProperty
LaunchScreen.storyboard
故事版中,不能使用UIWebView,因为这里不能使用网络的。[判断题]- [x] A、正确
- [ ] B、错误
IPhone
和iPad
指定不同的LaunchScreen.storyboard
故事版[判断题]- [ ] A、正确
- [x] B、错误
LaunchScreen.storyboard
故事版可以使用UIView或者UIViewController,而自定义的子类则不可以使用?[判断题]- [x] A、正确
- [] B、错误
CALayer
是被定义在那个框架
中的?[单选题]- [ ] A、UIKit
- [ ] B、Foundation
- [x] C、QuartCore
- [ ] D、Core Image
CALayer
对象,可以很方便地天正UIView的哪些界面属性?[多选题]- [x] A、阴影
- [x] B、圆角
- [x] C、边框
- [x] D、渐变色
UIColor
、UIImage
是定义在哪个框架
中的[单选题]- [ ] A、Foundation
- [ ] B、CoreGraphics
- [x] C、UIKit
- [ ] D、Core Image
UIKit
只能在iOS平台使用,无法在macOS平台使用?[判断题]- [x] A、正确
- [ ] B、错误
QuartCore
框架可以直接使用UIColor
、UIImage
?[判断题]- [ ] A、正确
- [x] B、错误
CALayer
和UIView
一样也可以处理用户的触摸
事件?[判断题]- [ ] A、正确
- [x] B、错误
UIView
可以通过subviews
属性访问所有的子视图
,类似地,CALayer
也可以通过sublayers
属性访问所有的子层
?[判断题]- [x] A、正确
- [ ] B、错误
UIView
可以通过superview
属性访问父视图
,类似地,CALayer
也可以通过superlayers
属性访问所有的父层
?[判断题]- [x] A、正确
- [ ] B、错误
UIView
是父子关系
,那么它们内部的CALayer
也是父子关系
吗?[判断题]- [x] A、正确
- [ ] B、错误
UIView
对象已经是它内部根层的delegate
,所以不能在将某个UIView
设置CALayer
的delegate
?[判断题]- [x] A、正确
- [ ] B、错误
UIKit
框架位于iOS系统架构
的那一层?[单选题]- [ ] A、核心操作层(Core OS layer)
- [ ] B、核心服务层 (Core services layer)
- [ ] C、媒体层(Media layer)
- [x] D、可触摸层(Cocoa Touch layer)
iOS
的用户界面有哪几种创建方式
?[多选题]- [x] A、Xib
- [x] B、Storyboard
- [ ] C、PhotoShop
- [x] D、代码创建
IPhone X
的分辨率比例是?[单选题]- [ ] A、4:3
- [ ] B、16:9
- [x] C、18:9
- [ ] D、5:3
IPhone X
尺寸 描述正确的是?[多选题]- [x] A、高度增加了145pt,变成812pt
- [x] B、状态栏高度由20pt变成44pt
- [x] C、物理分辨率为1125px * 2436px
- [x] D、iPhoneX屏幕是5.8英寸
iOS11
之前导航栏默认的高度为?[单选题]- [ ] A、32pt
- [ ] B、48pt
- [x] C、64pt
- [ ] D、96pt
iOS11
之后如果设置自prefersLargeTttles = YES
,则导航栏的高度为?[单选题]- [ ] A、32pt
- [ ] B、48pt
- [ ] C、64pt
- [x] D、96pt
iOS11
上,如果APP在启动时图标的四周出现黑色,是因为图标的四角的圆角,并且周围为透明像素。[单选题]- [x] A、正确
- [ ] B、错误
iOS11
开始引入的,用来控制safeAreaInsets
是否加到layoutMargins
上[单选题]- [ ] A、layoutMargins
- [ ] B、directionalLayoutMargins
- [ ] C、preservesSuperviewLayoutMargins
- [x] D、insetsLayoutMarginsFromSafeArea
iOS8
开始引入的,用来指定视图
和它的子视图
之间的边距
[单选题]- [x] A、layoutMargins
- [ ] B、directionalLayoutMargins
- [ ] C、preservesSuperviewLayoutMargins
- [ ] D、insetsLayoutMarginsFromSafeArea
LayoutSubViews
在什么时候被调用?[判断题]- [x] A、当View本身的frame改变时
- [ ] B、当View本身的bounds改变时
推荐阅读
- 分布式|微服务分布式事务解决方案实战(理论基础篇)
- 安卓-性能优化|安卓如何做界面性能优化
- 图形界面设计|PyQt5设计GUI(一)pycharm中配置pyqt5
- WEB渗透|WEB漏洞挖掘——思路指南
- JVM上篇(类加载子系统)
- 一篇文章告诉你如何用事件委托实现JavaScript留言板功能
- 实现JavaScript语言解释器(三)
- c语言嵌入式操作系统屏幕操作,C语言嵌入式系统编程(屏幕操作篇)
- 界面化小程序|女友问(你上班怎么摸鱼没被发现(我反手就给她开发了个桌面宠物—爽))
- springboot|SpringBoot集成Minio搭建自己的分布式文件服务器(Minio集成篇)