[Swift通天遁地]9、拔劍吧-(4)使用開源類庫建立可滑動的Segment分段控件

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-cjyjzhwi-ky.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
html

目錄:[Swift]通天遁地Swiftios

本文將演示建立多種自定義Segment分段樣式的控件git

首先確保已經安裝了所需的第三方類庫。雙擊查看安裝配置文件【Podfile】github

1 platform :ios, ‘12.02 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     pod 'TwicketSegmentedControl'
7 end

根據配置文件中的相關設置,安裝第三方類庫。swift

安裝完成以後,雙擊打開項目文件【DemoApp.xcodeproj】數組

在左側的項目導航區,打開視圖控制器的代碼文件【ViewController.swift】xcode

如今開始編寫代碼,建立一個可滑動的分段控件。微信

 1 import UIKit
 2 //引入已經安裝的第三方類庫
 3 import TwicketSegmentedControl
 4 
 5 //使當前的類遵照第三方協議,用來監聽分段控件的切換事件。
 6 class ViewController: UIViewController, TwicketSegmentedControlDelegate {
 7     
 8     var imageView : UIImageView!
 9     override func viewDidLoad() {
10         super.viewDidLoad()
11         // Do any additional setup after loading the view, typically from a nib.
12         
13          //初始化一個圖像視圖,做爲每一個分段所顯示的內容
14         self.imageView = UIImageView(frame: CGRect(x: 0, y: 100, width: 320, height: 160))
15         //從項目中讀取一張圖片,做爲圖片視圖的顯示內容。
16         self.imageView.image = UIImage(named: "chart")
17         //將圖像視圖添加到根視圖
18         self.view.addSubview(self.imageView)
19         
20         //初始化一個字符串數組,做爲三個分段的標題文字
21         let titles = ["Daily", "Weekly", "Monthly"]
22         //初始化一個矩形區域,做爲分段控件的顯示區域
23         let frame = CGRect(x: 5, y: 40, width: view.frame.width - 10, height: 40)
24         
25         //初始化一個指定顯示區域的分段控件。
26         let segmentedControl = TwicketSegmentedControl(frame: frame)
27         //設置分段控件的各個分段的標題文字
28         segmentedControl.setSegmentItems(titles)
29         
30         //設置分段控件的字體顏色爲灰色
31         segmentedControl.defaultTextColor = .gray
32         //設置處於焦點狀態的分段的字體顏色爲白色
33         segmentedControl.highlightTextColor = .white
34         //設置畫滑塊的背景顏色爲橙色
35         segmentedControl.sliderBackgroundColor = .orange
36         //經過分段控件的移動方法,使第二個分段處於焦點狀態。
37         segmentedControl.move(to: 1)
38         
39         //設置分段控件的代理對象,位當前的視圖控制器對象。
40         //即便用當前控制器對象的方法,監聽分段控件的切換事件。
41         segmentedControl.delegate = self
42         
43         //最後將分段控件添加到根視圖。
44         view.addSubview(segmentedControl)
45     }
46     
47     //添加一個方法,用來監聽分段控件的切換事件。
48     func didSelect(_ segmentIndex: Int)
49     {
50         //當選擇第一個分段時
51         if segmentIndex == 0
52         {
53             //修改圖像視圖的顯示區域
54             self.imageView.frame = CGRect(x: 0, y: 80, width: 320, height: 160)
55             //修改圖像視圖的顯示內容
56             self.imageView.image = UIImage(named: "chart")
57         }
58         //當選擇第二個分段時
59         else if segmentIndex == 1
60         {
61             //修改圖像視圖的顯示區域
62             self.imageView.frame = CGRect(x: 0, y: 80, width: 320, height: 340)
63             //修改圖像視圖的顯示內容,使圖像視圖顯示另外一張圖片。
64             self.imageView.image = UIImage(named: "data")
65         }
66         //當選擇第三個分段時的狀況
67         else if segmentIndex == 2
68         {
69             //修改圖像視圖的顯示區域
70             self.imageView.frame = CGRect(x: 0, y: 80, width: 320, height: 500)
71               //修改圖像視圖的顯示內容,使圖像視圖顯示另外一張圖片。
72             self.imageView.image = UIImage(named: "total")
73         }
74     }
75     
76     override func didReceiveMemoryWarning() {
77         super.didReceiveMemoryWarning()
78         // Dispose of any resources that can be recreated.
79     }
80 }
相關文章
相關標籤/搜索