当前位置: 移动技术网 > 移动技术>移动开发>IOS > IOS 初级开发入门教程之Switch、Slider、Segmented、Progress练习

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

2018年04月10日  | 移动技术网移动技术  | 我要评论

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

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

UIKit继承结构

 


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


 

界面视图

\

 

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

 

代码界面

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

 

\

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

\

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

 @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:

\

 

我们将Slider的Action动作实现:

\

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

    @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上
    }

运行结果

\


如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网