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