當前位置:編程學習大全網 - 編程語言 - 如何用 Swift 語言構建壹個自定控件

如何用 Swift 語言構建壹個自定控件

假設妳在開發壹個應用程序,該程序提供搜索商品價格列表。通過這個假象的應用程序允許用戶對搜索結果進行過濾,以獲得壹定價格範圍的商品。妳可 能會提供這樣壹個用戶界面:兩個 UISlider 控件,壹個用於設置最低價格,另外壹個設置最高價格。然而,這樣的設計,不能夠讓用戶很好的感知價格的範圍。要是能夠提供壹個 slider,兩端可以分別設置用於搜索的最高和最低的價格範圍,就更好了。

妳可以通過創建壹個 UIView 的子類,然後為可視的價格範圍定做壹個 view。這對於應用程序內部來說,是 ok的,但是要想移植到別的程序中,就需要花更多的精力了。

最好的辦法是將構建壹個新的盡可能通用的 UI 控件,這樣就能在任意的合適場合中重用。這也是自定義控件的本質。

啟動 Xcode,File/New/Project,選中 iOS/Application/Single View Application 模板,然後點擊 Next。在接下來的界面中,輸入 CustomSliderExample 當做工程名,然後是 Organization Name 和 Organization Identifier,然後,壹定要確保選中 Swift 語言,iPhone 選中,Use Core Data 不要選。

最後,選擇壹個保存工程的地方並單擊 Create。

首先,我們需要做出決定的就是創建自定義控件需要繼承自哪個類,或者對哪個類進行擴展。

位了使自定義控件能夠在應用程序中使用,妳的類必須是 UIView 的壹個子類。

如果妳註意觀察蘋果的 UIKit 參考,會發現框架中的許多控件,如 UILabel 和 UIWebView 都是直接繼承自 UIView 的。然而,也有極少數,例如 UIButton 和 UISwitch 是繼自 UIControl 的。

註意:iOS 中 UI 組件的完整類繼承圖,請看 UIKit Framework 參考。

UIControl 實現了 target-action 模式,這是壹種將變化通知訂閱者的機制。UIControl 同樣還有壹些與控件狀態相關的屬性。在本文中的自定義空間中,將使用到 target-action 模式,所以從 UIControl 開始繼承使用將是壹個非常好的切入點。

在 Project Navigator 中右鍵單擊 CustomSliderExample,選擇 New File…,然後選擇 iOS/Source/Cocoa Touch Class 模板,並單擊 Next。將類命名位 RangeSlider,在 Subclass of 字段中輸入 UIControl,並確保語言是 Swift。然後單擊 Next,並在默認存儲位置中 Create 出新的類。

雖然編碼非常讓人愉悅,不過妳可能也希望盡快看到自定義控件在屏幕中熏染出來的模樣!在寫自定義控件相關的任何代碼之前,妳應該先把這個控件添加到 view controller中,這樣就可以實時觀察控件的演進程度。

  • 上一篇:能不學c語言直接學c++麽
  • 下一篇:程序員往上做是什麽?軟件分析師、架構師、工程師有什麽區別?
  • copyright 2024編程學習大全網