欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

程序员文章站 2022-04-23 11:13:14
IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习。 看完前面5章的内容,基本对IOS开发有一些认识了,这章我们继续动手去实践一下,学...

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习。

看完前面5章的内容,基本对IOS开发有一些认识了,这章我们继续动手去实践一下,学习开关、拖动、分段控制、进度条的相关知识,以及通过一个交互式的案例演示如何使用。

UIKit继承结构

 

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

我们通过这个UIKit继承结构图,我们试着找到本章要学习的UI,去观察所属的继承关系。


 

界面视图

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

 

先把我们要学习的控件拖拽到视图界面。如果新手可以参考我前面的文章。从这章开始我就不细说画图拖拽方面了。

 

代码界面

首先,我们先实现第一功能,Switch和Segmented之间的联动。先把两个控件在代码上声明输出口 Outlet :

 

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

我们将Action动作也实现:(这里以Switch为例)

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

关键就在于代码如何实现了:(直接把代码逻辑贴出来了)

 @IBAction func SwithValueChange(_ sender: Any) {
        let senderSwich = sender as! UISwitch ; // 获取当前点击的控件并强转为Switch
        
        if senderSwich == self.mSwitch{
            let value = self.mSwitch.isOn ;//获取点击后的状态值
            
            if value{
                self.mSegmented.selectedSegmentIndex=1
            }else{
                self.mSegmented.selectedSegmentIndex=0
            }
        }
        
    }
    @IBAction func ControValueChange(_ sender: Any) {
        let senderSegmented = sender as! UISegmentedControl
       
        if self.mSegmented == senderSegmented {
            let value = self.mSegmented.selectedSegmentIndex
            
            if value == 1{
                self.mSwitch.setOn(true, animated: true)
            }else{
                self.mSwitch.setOn(false, animated: true)
            }
        }
    }

然后,我们实现第二个功能,Slider与Progress、Label交互。同样先声明输出口outlet:

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

 

我们将Slider的Action动作实现:

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

直接把代码逻辑贴出来了:

    @IBAction func sliderValueChange(_ sender: Any) {
        let slider = sender as! UISlider    // 当前拖动的滑块
        let value = Int(slider.value*100)   // 获取当前值(0.x)乘以100后的Int值
        let showText = NSString(format: "%d", value)    // 将数据格式化
        self.mLable.text = showText as String  // 显示在Label上
        self.mProgress.progress = slider.value //显示在Progress上
    }

运行结果

IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习