③(界面篇)、《史上最全iOS八股文面試題》2022年,金三銀四我為你準備了,iOS《1000條》筆試題以及面試題(包含答案)。帶面試你過關斬將,(趕緊過來背iOS八股文)

iOS面試題 一共分為筆試題面試題兩部分
筆試題 一共分為10個 總共613題
面試題 一共400題
筆試題 一個10個系列 分別為
①(語法篇) 共147題 已更新
②(常識篇) 共72題 已更新
③(界面篇) 共83題 已更新
④(iOS篇) 共52題 已更新
⑤(操作篇) 共68題 已更新
⑥(數(shù)據(jù)結(jié)構(gòu)篇) 共23題 已更新
⑦(多線程篇) 共60題 已更新
⑧(網(wǎng)絡篇) 共22題 已更新
⑨(多媒體篇) 共59題 已更新
⑩(安全篇) 共27題 已更新
面試題 一共分為3個 總共400題
?(面試篇 1/3) 共127題 已更新
?(面試篇 2/3) 共137題 已更新
?(面試篇 3/3) 共136題 已更新

請?zhí)砑訄D片描述

@TOC

筆試題 613題

??③、筆試題-界面篇(83題)

1.UIViewController的didReceiveMemoryWaring方法什么時候會被調(diào)用:[單選題]

  • A、外接來電
  • B、系統(tǒng)錯誤
  • C、系統(tǒng)內(nèi)存不足
  • D、系統(tǒng)CPU被占用100%

2.下面哪個在iPhone應用程序開發(fā)時不能使用:[單選題]

  • 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.關于UIControlUIView之間的關系,下面說法正確的是:[單選題]

  • A、UIcontrol繼承于UIView
  • B、UIView繼承于UIcontrol
  • C、UIcontrol與UIView之間沒有繼承關系
  • D、UIcontrol與UIView都是直接繼承于UIResponder

6.下列UIView的方法中,哪一個在iOS5.0前后的系統(tǒng)調(diào)用機制不同:[單選題]

  • A、addSubView
  • B、layoutSubView
  • C、drawRect
  • D、removeFromSuperView

7.構(gòu)造UIImage的方法中,占用內(nèi)存最大的哪個方法:[單選題]

  • A、imageNamed
  • B、imageWithContentsOfFile
  • C、imageWithData
  • D、三者一樣大

8.下面哪些方法是UITableViewdelegate方法:[多選題]

  • 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.UIResponderUIView的父類?:[單選題]

  • A、正確
  • B、錯誤

10.UIControlUIView的父類?:[單選題]

  • A、正確
  • B、錯誤

11.UITableView中cell的復用是由幾個數(shù)組實現(xiàn)的:[單選題]

  • A、1
  • B、2
  • C、3
  • D、4

12.點擊Button 響應鏈中最終得到響應的是:[單選題]

  • A、window
  • B、Application
  • C、AppDelegate
  • D、UIViewController

13.在UIKit中,framebounds的區(qū)別是:[單選題]

  • A、frame是bounds的別名
  • B、frame是bounds的繼承類
  • C、frame的參考系是父視圖坐標系,bounds的參考系是自身的坐標
  • D、frame的參考系是自身坐標,bounds的參考系是父視圖的坐標

14.UIViewController在顯示過程中,各個方法的調(diào)用順序是:[單選題]

  • A、init -> viewDidLoad -> viewDidAppear -> viewDidUnload
  • B、init -> viewDidAppear -> viewDidLoad -> viewDidUnload
  • C、init -> viewDidLoad -> viewDidUnload -> viewDidAppear
  • D、init -> viewDidAppear -> viewDidUnload -> viewDidAppear

15.使用imageNamed方法創(chuàng)建UIImage對象時,與普通的init方法有什么區(qū)別:[單選題]

  • A、沒有區(qū)別.只是為了方便
  • B、imageNamed方法只是創(chuàng)建了一個指針,沒有分配其他內(nèi)存
  • C、imageNamed方法將圖片加載到內(nèi)存中后不再釋放
  • 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.以下關于UIViewCALayer描述正確的是:[多選題]

  • A、UIView之所以能夠顯示,是因為其內(nèi)部的CALayer層對象。
  • B、UIView真正的繪圖部分,由一個CALayer類來管理。
  • C、無需通過CALayer,即可給UIView添加陰影,圓角大小、邊框?qū)挾群皖伾取?/li>
  • D、訪問UIView根繪圖和坐標有關的屬性,例如 frame、bounds等,實際上內(nèi)部都是在訪問它所包含的CALayer的相關屬性。

20.UIWindow提供一個畫內(nèi)容的表面,是所有其他視圖的根容器,每個應用程序只能擁有一個窗口?:[判斷題]

  • A、正確
  • B、錯誤

21.UIView視圖是所有控件的父類。控件用于響應用戶的交互,而UIView則負責內(nèi)容的顯示和布局?:[判斷題]

  • A、正確
  • B、錯誤

22.UIControl類幾乎是所有交互控件的父類,如按鈕、滑塊、文本框等。所以UIControl類負責根據(jù)觸摸事件觸發(fā)相應的動作?:[判斷題]

  • A、正確
  • B、錯誤

23.iOS應用程序啟動后,創(chuàng)建的第一個視圖控件就是UIWindow?:[判斷題]

  • A、正確
  • B、錯誤

24.在iOS應用程序中,窗口對象并沒有像關閉框標題框這樣的區(qū)域,所以用戶不能直接對其進行關閉?:[判斷題]

  • A、正確
  • B、錯誤

25.在macOS中,NSWindow的父類是NSResponder。在iOS系統(tǒng)中,UIWindow的父類是UIResponder?:[判斷題]

  • A、正確
  • B、錯誤

26.在macOS中,NSWindow的父類是NSResponder。在iOS系統(tǒng)中,UIWindow的父類是UIView?:[判斷題]

  • A、正確
  • B、錯誤

27.UIViewalpha屬性是一個浮點值,取值范圍在0~1.0,表示從完全透明完全不透明:[判斷題]

  • A、正確
  • B、錯誤

28.當將UIViewalpha屬性設置為0之后,以下描述正確的是:[多選題]

  • A、當前的UIView及其子視圖都會被隱藏,而不管子視圖的alpha值是多少。
  • B、當前的UIView會被隱藏,而子視圖不會受到父視圖alpha值的影響。
  • C、當前的UIView不會從響應者鏈中移除。仍然可以接受觸摸事件。
  • D、當前的UIView會從響應者鏈中移除。而響應者鏈中的下一個會成為響應者。

29.當將UIViewisHidden屬性設置為true之后,以下描述正確的是:[多選題]

  • A、當前的UIView及其子視圖都會被隱藏,而不管子視圖的hidden值是多少。
  • B、當前的UIView會被隱藏,而子視圖不會受到父視圖isHidden值的影響。
  • C、當前的UIView會從響應者鏈中移除。而響應者鏈中的下一個會成為響應者。
  • D、當前的UIView不會從響應者鏈中移除。仍然可以接受觸摸事件。

30.在默認情況下,當向一個視圖中添加一個子視圖,如果子視圖的區(qū)域超出了父視圖的范圍,子視圖超出的部分仍然會在屏幕上正常顯示?:[判斷題]

  • A、正確
  • B、錯誤

31.在iOS坐標系統(tǒng)中,坐標的原點位于:[單選題]

  • A、左下角
  • B、右上角
  • C、左上角
  • D、右下角

32.關于UIViewframebounds屬性,以下描述正確的是:[多選題]

  • 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視圖進行放大、縮小或旋轉(zhuǎn)時。center屬性的值會發(fā)生改變?:[判斷題]

  • A、正確
  • B、錯誤

34.通過CGAffineTransform仿射轉(zhuǎn)換,可以對UIView視圖進行哪些變換的操作:[多選題]

  • A、縮放
  • B、旋轉(zhuǎn)
  • C、隱藏
  • D、位移

35.UIViewController包含以下哪些功能?[多選題]

  • A、UIViewController類負責創(chuàng)建其管理的視圖,并在內(nèi)存較低時將它們從內(nèi)容中移出。
  • B、可以通過視圖控制器來將新的視圖內(nèi)容,以模態(tài)窗口的方式顯示在當前視圖的上方。
  • C、視圖控制器可以響應設備的方向變化,對視圖進行相應的調(diào)整。以適應新的方向。
  • D、一些特殊的視圖控制器,如導航視圖控制器、標簽視圖控制器、可使視圖的管理更加方便和規(guī)范。

36.關于UITabBarController,以下描述正確的是:[多選題]

  • A、UITabBarController不能添加到別的視圖控制器中。
  • B、UITabBarController可以添加到別的視圖控制器中。
  • C、UITabBarController的Tab bar可以放置在屏幕的底部或者頂部。
  • D、UITabBarController的Tab bar只能放置在屏幕的底部。

37.關于UINavigationController,以下描述正確的是:[多選題]

  • A、UINavigationController導航控制器用于顯示多屏并具有一定層次結(jié)構(gòu)的內(nèi)容,是構(gòu)建分成應用程序的主要工具。
  • B、UINavigationController維護了一個視圖控制器棧,所有的子視圖控制器都在于堆棧中。
  • C、和UITabBarController相比,UINavigationController是作為棧來實現(xiàn)的。它更適合用于處理和顯示分層的數(shù)據(jù)。
  • D、UINavigationController導航控制器在管理、切入和切出多個內(nèi)容頁面,與UITabBarController類似。

38.UIControl類的UIControlEvent主要包含哪三種事件?:[多選題]

  • A、基于通知的控件事件
  • B、基于值得控件事件
  • C、基于觸摸的控件事件
  • D、基于編輯的控件事件

39.UIButtonUIView的一個子類?:[判斷題]

  • A、正確
  • B、錯誤

40.Target-Action機制可以對同一個控件綁定多個Action:[判斷題]

  • A、正確
  • B、錯誤

41.如果你的視圖并沒有指定tintColor屬性,那么這個使用將使用父類中的tintColor屬性?:[判斷題]

  • A、正確
  • B、錯誤

42.UIButton中受到tintColor影響的范圍有titleimage顏色?:[判斷題]

  • A、正確
  • B、錯誤

43.以下關于NSLineBreakMode枚舉成員,描述正確的是:[多選題]

  • A、ByWordWrapping表示以單詞為顯示單位顯示,后面部分省略不顯示
  • B、ByCharWrapping表示以字符為顯示單位顯示,后面部分省略不顯示
  • C、ByClipping表示剪切與文本寬度相同的內(nèi)容長度,后半部分被刪除
  • D、ByTruncatingHead 表示開頭省略,顯示尾部文字內(nèi)容

44.UISwitch大小設置是無效的:[判斷題]

  • A、正確
  • B、錯誤

45.UITextField支持代理模式delegate,但是不支持Target-Action的機制?[判斷題]

  • A、正確
  • B、錯誤

46.UITableView可用于以下哪些場合:[多選題]

  • A、方便用戶瀏覽有層次結(jié)構(gòu)的數(shù)據(jù)
  • B、提供一個可供選擇的列表
  • C、顯示一系列數(shù)據(jù)地索引列表
  • D、利用分組結(jié)構(gòu),展示細節(jié)信息和更詳細的設置

47.開發(fā)者可以對UITableViewCell進行哪些操作:[多選題]

  • A、自定義單元格的文字標題、圖標、背景燈屬性。
  • B、對單元格進行選擇和高亮操作。
  • C、配置單元格的附件視圖。
  • D、對單元格進行添加、刪除、改變位置等操作。

48.以下關于UICollectionViewUICollectionViewController,描述正確的是:[多選題]

  • A、UICollectionView和UICollectionViewController類是iOS 6 新引進的API。
  • B、標準的UICollectionView對象包括三個部分:Cells、Supplementary Views、Decoration Views,這三部分都是UIView的子類。
  • C、UICollectionView類負責管理數(shù)據(jù)地有序集合,并使用自定義布局的模型呈現(xiàn)這些數(shù)據(jù)。
  • D、UICollectionView 除了多列布局之外,還可以實現(xiàn)平鋪的布局、圓形的布局和更多的自定義布局。

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屬于非連續(xù)類型的手勢?[判斷題]

  • A、正確
  • B、錯誤

54.UIPinchGestureRecognizer屬于非連續(xù)類型的手勢?[判斷題]

  • A、正確
  • B、錯誤

55.Storyboard故事版功能是在哪個iOS版本發(fā)布的:[單選題]

  • A、iOS4
  • B、iOS5
  • C、iOS6
  • D、iOS7

56.以下對Storyboard故事版功能 描述正確的是[多選題]

  • A、通過簡單地拖拽、往視圖控制器添加各種界面控件,可以降低學習的難度。提供開發(fā)工作的效率和趣味。使開發(fā)工作更加人性化。
  • B、可以更好地查看和理解項目中所有頁面的外觀,以及頁面之間的鏈接跳轉(zhuǎn)關系。
  • C、Storyboard快速實現(xiàn)了視圖之間的跳轉(zhuǎn)關系。
  • D、通過重寫 prepareForSegue方法,將視圖控制器的所有跳轉(zhuǎn)邏輯都匯聚一起,方便進行統(tǒng)一的界面跳轉(zhuǎn)和參數(shù)傳遞。

57.以下對Storyboard故事版功能 描述正確的是[多選題]

  • A、Storyboard通過 Cell ProtoType原型,以及Static靜態(tài)Cell的特性,讓表格控制器實現(xiàn)起來更容易
  • B、通過Storyboard可以通過拖拽建立約束關系,從而快速實現(xiàn)各分辨率的適配。
  • C、當Storyboard包含越來越多的視圖控制器時,打得開Storyboard將越來越慢。
  • D、通過將常見的功能比如注冊、分享模塊獨立成一個Storyboard,可以實現(xiàn)功能的模塊化和重復利用。

58.Storyboard事實上是由XML 可擴展標記語言構(gòu)成的文本文件[判斷題]

  • A、正確
  • B、錯誤

59.使用Single View Application模板創(chuàng)建的項目,將自帶哪兩個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,因為這里不能使用網(wǎng)絡的。[判斷題]

  • A、正確
  • B、錯誤

62.可以為IPhoneiPad指定不同的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框架可以直接使用UIColorUIImage?[判斷題]

  • A、正確
  • B、錯誤

69.CALayerUIView一樣也可以處理用戶的觸摸事件?[判斷題]

  • A、正確
  • B、錯誤

70.UIView可以通過subviews屬性訪問所有的子視圖,類似地,CALayer也可以通過sublayers屬性訪問所有的子層?[判斷題]

  • A、正確
  • B、錯誤

71.UIView可以通過superview屬性訪問父視圖,類似地,CALayer也可以通過superlayers屬性訪問所有的父層?[判斷題]

  • A、正確
  • B、錯誤

72.如果兩個UIView父子關系,那么它們內(nèi)部的CALayer也是父子關系嗎?[判斷題]

  • A、正確
  • B、錯誤

73.因為UIView對象已經(jīng)是它內(nèi)部根層的delegate,所以不能在將某個UIView設置CALayerdelegate?[判斷題]

  • A、正確
  • B、錯誤

74.UIKit框架位于iOS系統(tǒng)架構(gòu)的那一層?[單選題]

  • A、核心操作層(Core OS layer)
  • B、核心服務層 (Core services layer)
  • C、媒體層(Media layer)
  • D、可觸摸層(Cocoa Touch layer)

75.iOS的用戶界面有哪幾種創(chuàng)建方式?[多選題]

  • A、Xib
  • B、Storyboard
  • C、PhotoShop
  • D、代碼創(chuàng)建

76.IPhone X的分辨率比例是?[單選題]

  • A、4:3
  • B、16:9
  • C、18:9
  • D、5:3

77.以下關于IPhone X尺寸 描述正確的是?[多選題]

  • A、高度增加了145pt,變成812pt
  • B、狀態(tài)欄高度由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在啟動時圖標的四周出現(xiàn)黑色,是因為圖標的四角的圓角,并且周圍為透明像素。[單選題]

  • 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在什么時候被調(diào)用?[判斷題]

  • A、當View本身的frame改變時
  • B、當View本身的bounds改變時
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容