A. 如何使在Swift中使用UIScrollView進行滾動和縮放
UIScrollView是IOS中非常有用的一個組件。它是通用組件UITableView的基類也是放置尺寸大於一個屏幕的內容時很好的組織方式。本教程會介紹UIScrollView的下列用法:
如何使用UIScrollView瀏覽大尺寸圖片。
如何在縮放時保持UIScrollView中的內容居中.
如何在UIScrollView中嵌入復雜的顯示層次關系。
如何使用UIScrollView的分頁(paging)特性, 聯合使用UIPageControl在不同頁面之間移動。
通過「偷窺」UIScrollView得到前一頁,後一頁還有當前頁的縮略圖。
其他內容!
本文假設你熟悉Swift語寬神禪言和IOS開發。如果你完全是一名初學者, 你可能需要先學習一下本站的其他課程。
本文還假設你知道如何使用Interface Builder在view中添加對象和在你的代碼和Storyboard連接outlets。 如果你剛剛接觸Storyboards和Interface Builder, 你可以在開始本教程之前線學習一下本站的Storyboards教程。
開始
打開Xcode創建工程。選擇File\New\Project…, 接下來選擇iOS\Application\Single View Application模版。 在proct name輸入框中輸入ScrollViews, language選擇Swift, devices選擇 iphone.
單擊Next選擇工程文件的保存位置。
之後下載工程的資源壓縮包, 然後將解加壓後的文件拖拽到工程的根目錄。並確保選中了「Copy items if needed」復選框。
本文會介紹Scroll view 的四種不同使用瞎脊方式, 工程採用一個tableview來提供這四個選項。每個選項打開一個新的視圖控制器(慎塵view controller)來展示scroll views的一種用法。
下圖展示了完成時storyboard的狀態:
通過下列步驟創建一個tableview:
打開Main.storyboard刪除當前場景。 選擇view controller (單擊 storyboard) 然後刪除它。
關閉Auto Layout功能。在Utilities面板中選擇File Inspector, 取消Use Auto Layout復選框的選中狀態。這會彈出一個警告窗口。在彈出窗口中確保「Keep size class data for:」選中了iPhone。然後選擇Disable Size Classes。
接下來, 添加一個Table View Controller,從Object Library中拖拽一個Table View Controller到storyboard。
選中剛添加的table, 然後在菜單中選擇Editor\Embed In\Navigation Controller。
同時選中table view和table view controller, 將Attributes Inspector中的content type修改為Static Cells(如下圖所示)。
在文檔概要視圖中Table View單擊下面的按鈕顯示storyboard層次關系視圖,然後選中Table View Section. 將行數設置為4。如下圖所示
依次編輯table view的每一行, 將style設置為Basic,編輯顯示的標簽:
Image Scroll
Custom View Scroll
Paged
Paged with Peeking
注釋: 由於你將每一行的style設置成了「Basic」, 表單的每一行會出現額外的標簽子組件。你要再次展開每行的子項目來進行編輯。
保存storyboard, 之後構建並運行。你會看到你編輯的table view如下圖所示.不過現在table view中還沒有任何東西 – 但你可以改好它!
B. iOS Swift 相機步驟與注意事項
第一步:初始化 AVCaptureDevice
let capDevice = AVCaptureDevice.default(for: .video)
第二步:初始化 設備會話管理器 管理輸入輸出
let capDevicetureSession = AVCaptureSession.init()
///設置
capDevicetureSession?.canSetSessionPreset(AVCaptureSession.Preset.init(rawValue: ""))
capDevicetureSession?.sessionPreset = AVCaptureSession.Preset.init(rawValue: "")
第三步:初始化相機設備輸入流
do {
///初始化輸入流
let capDeviceInput= try AVCaptureDeviceInput.init(device:capDevice!)
///添加輸入流
if capDevicetureSession?.canAddInput(capDeviceInput!) == true {
capDevicetureSession?.addInput(capDeviceInput!)
}
} catch {
print("相機初始伍芹化失敗緩脊")
}
第四步: 拍照 初始化照片輸出流
///初始化照片輸出流
腔哪畢 let capDeviceImgOutput = AVCapturePhotoOutput.init()
///添加輸出流
if capDevicetureSession?.canAddOutput(capDeviceImgOutput!) == true {
capDevicetureSession?.addOutput(capDeviceImgOutput!)
}
第五步:錄像 初始化視頻輸出流
///初始化視頻數據輸出流
let capDeviceVideoOutput = AVCaptureVideoDataOutput.init()
///添加輸出流
if capDevicetureSession?.canAddOutput(capDeviceVideoOutput!) == true {
capDevicetureSession?.addOutput(capDeviceVideoOutput!)
}
capDeviceVideoOutput?.alwaysDiscardsLateVideoFrames = true //
capDeviceVideoOutput?.videoSettings = [String():kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]
capDeviceVideoOutput?.setSampleBufferDelegate( self , queue:DispatchQueue.init(label:"video"))
第六步:因為錄像肯定還需要同步錄制音頻所以初始化音頻的輸入 輸出
因為音頻不能用上面的相機device所以
///初始化麥克風設備
let audioDevice =AVCaptureDevice.default(for: .audio)
do {
// Wrap the audio device in a capture device input.
capDeviceAudioInput= try AVCaptureDeviceInput(device: audioDevice!)
// If the input can be added, add it to the session.
if capDevicetureSession!.canAddInput(capDeviceAudioInput!) {
capDevicetureSession!.addInput(capDeviceAudioInput!)
}
} catch {
print("麥克風失敗")
}
///初始化音頻輸出流
let capDeviceAudioOutput= AVCaptureAudioDataOutput.init()
if capDevicetureSession!.canAddOutput(capDeviceAudioOutput!){
capDevicetureSession!.addOutput(capDeviceAudioOutput!)
}
capDeviceAudioOutput?.setSampleBufferDelegate( self , queue:DispatchQueue.init(label:"audio"))
第七步:初始化視頻連接器
let videoConnection = capDeviceVideoOutput?.connection(with: .video)
videoConnection?. = false
//設置視頻輸出方向
videoConnection?.videoOrientation = .portrait
//判斷是否支撐視頻穩定 可以顯著提高視頻的質量 只會在錄制視頻文件涉及到
if videoConnection!.isVideoStabilizationSupported {
videoConnection?. = .auto
}
第八步:最重要的一步:將所有的輸入輸出流都添加到設備會話管理器
前面幾步已經添加了
最後就是初始化預覽相機的視圖了
///初始化相機輸出流預覽圖層
let capDevicePreViewLayer = AVCaptureVideoPreviewLayer.init(session: capDevicetureSession!)
capDeviceContentView=SYDIYCameraContentView.init(frame: preViewLayerFrame)
capDevicePreViewLayer?.frame=CGRect.init(x:0, y:0, width: preViewLayerFrame.size.width, height: preViewLayerFrame.size.height)
capDevicePreViewLayer?.videoGravity = .resizeAspectFill
然後開啟會話管理器啟動設備運行
capDevicetureSession?.startRunning()
注意事項就是:所有設置必須在會話管理器啟動前初始化並且設置,不然拍照 和 錄像 會有很多小問題
C. 求李明傑老師iOS開發完整版教學視頻!希望有項目開發和游戲開發!!!
沒有,網上的都是不完整的。你別傻了。都是傳智的學生故意流出來的。我也是他內的學生。第幾期不說了。容。
前面還好,中後期全部代碼都有故意刪減的。視頻也是,一集有一集沒有。而且資源PPT都沒有。還有幾期是加密視頻,根本沒法破解。。
他經常教學生偽造簡歷。。搞到很多人抵制他。他現在自主創業了,自己開了個培訓班。在廣州天河區。有贊有罵。說授課的內容裝逼。。MJ不算什麼大牛,他也沒說過是什麼大牛。。歐陽堅,李剛,尹成等我認為非常牛逼的人物也不敢說自己是大牛。。
D. swift 教程 swift介紹
1、要使用swift須擁有一台蘋果電腦。因為集成開發環境XCode只能運行在OS X系統上。電腦系統必須在OS 10.9.3及以上,電腦必須安裝Xcode集成開發環境。
2、下載完成後,雙擊下載的 dmg 文件安裝,安裝完成後我們將 Xcode 圖標踢移動到應用文件夾。Xcode 安裝完成後,就可以開始編寫 Swift 代碼了。接下來我們在應用文件夾打開 Xcode,打開後在屏幕頂部選擇 File => New => Playground。接著 為 playground 設置一個名字並選擇 iOS 平台。
3、如果你想創建 OS x 程序,需要導入 Cocoa 包 import Cocoa以上程序載入後,會在Playground 窗口右側顯示程序執行結果。
4、選擇一個Single View Application,並點擊next,創建一個簡寬談單示例app應用。
5、接著我們輸入項目名稱(ProctName),公司名稱(Organization Name),公司標識前綴名(Organization identifier) 還要選擇開發語言(Language),選擇設備(Devices)。其中Language有兩個選項:Objective-c和swift,因為我們是學習swift當然選擇swift項了。 點擊Next下一步。
6、選擇存放的目錄,如果要使用Git源代碼管理,將勾上Source Control的create git repository on My Mac. 點擊create創建項目。
7、項目創建後,默認生成了一個示例文件,可以看到swift將oc中的h和m文件合並成了一個文件粗芹(即swift後綴名文件). Main.storyboard相當於xib文件,有比xib更多的功能。
8、打開main.storyboard,默認看到一個簡單的空白的應用界面,大小為平板界面大小。 如果開發都只需要開發兼容iphone手機的app,那麼可以把Use Auto Layout的勾去掉(默認為勾上)。彈出了一個對話框,讓我們選擇界面尺寸,iPhone 或 iPad。我們選擇iPhone的尺寸。
9、界面添加點內容,在右下方找到Text控制項,將它拖入storyboard上,並雙擊寫入文本Hello World!
10、運行一下模擬器(command+R 快捷鍵或在菜單欄中選擇 Proct => Run)。
至此,第一個Swift項目就完成了。
10、swift介紹
《Swift》是一種支持多編程範式和編譯式的開源編程語言,蘋果於2014年WWDC(蘋果開發者大會)發布,用於開發 iOS,OS X 和 watchOS 應用程序。 Swift 結合了 C 和 Objective-C 的優點並且不受 C 兼容性的限制。 Swift 在 Mac OS 和 iOS 平台可以和 Object-C 使用相同的運行環境。 2015年6月8日,蘋果於WWDC 2015上宣布,Swift將開放源代碼,包括編譯慎凳碰器和標准庫。
Swift 是一種全新的編程語言,結合了 C 和 Objective-C 的優點,並且不受C兼容性的限制。Swift 採用的安全編程模式添加了很多新特性,這使得編程更簡單,更靈活,也更有趣。Swift 在 Foundation 和 Cocoa的基礎上構建框架,並且採用了很多 Objective-C 的命名參數以及動態對象模型,並且支持過程式編程和面向對象編程。Swift 將現代編程語言的精華和蘋果工程師文化的智慧結合了起來,既能夠開發簡單的小程序,也能夠構建出一套完整的操作系統。
E. SWIFT的學習入門
Swift是蘋果公司在2014年6月發布的全新開發語言,WWDC2014發布會從演示視頻及隨後在appstore上線的標准文檔看來,語法內容混合了OC,JS,Python,並可與Objective-C(Apple操作系統在導入Swift前使用的編程語言)共同運行於Mac OS和iOS平台,用於搭建基於蘋果平台的應用程序。
2015年,蘋果宣布開源Swift,這門語言進去高速發展時期,每一次大版本迭代,使得很多東西需要重新學習,讓開發者高興地是,迭代更新升高了崗位門檻、也會淘汰掉一部分競爭者,變相提高自己的只能地位,但一不小心,自己沒有學習力又會落後。
不過,好在前不久蘋果公司發布了Swift5,ABI終於相對穩定,往後語法應該不會有太大變動。
Swift有許多其他的功能,使你的代碼更傳神:閉包的統一與函數指針、元組和多個返回、泛型、快速而簡潔的迭代范圍或集合、支持的方法,擴展的協議結構。
隨著蘋果手機的普及也就意味著果粉兒是個龐大的消費群體,而其程序所需支撐的編程語言也就非常重要,這也是Swift會持續受到關注和學習的原因。小碼哥李明傑推出了關於Swift的相關課程,有興趣的小夥伴可以去看一下。
要說入門學習首先需要你是iOS開發人員,畢竟這是基於蘋果系統的編程語言;另外就是有態度、願意花時間;可以的話,有一起學習的搭檔;如果急需入門,或許也可以求教有經驗的同事甚至是專業的老師。
F. swift 如何判斷點擊的是哪個tabbar
本月初蘋果公司在WWDC大會上發布了最新編程語言Swift,Swift語言的發布對於開發者們來說無疑是一項重大的變革。Swift語言的未來發展必將一片光明,想要學習Swift語言的程序猿們趕緊看過來吧!
這套Swift語言視頻教程是針對有Objective-C/iOS基礎,想轉成Swift開發的程序猿們而錄制的,視頻中從編程語言Swift的語法,結構體,面向對象,繼承,閉包到Swift作為iOS開發的UI,地圖,網路進行一系列講解。
視頻教程中包含了Swift語法:如何使用Swift進行UI導航控制器,TabBarController,代理設計模式,反向傳值,TableView,網路,AFNetworking,圖片緩存,Objective-C和Swift進行相互調用的詳細講解。