`

新风作浪博客学习(五)代码实现UISlider 和 UISwitch .

    博客分类:
  • ios
ios 
阅读更多
本次实现的UISlider和UISwitch控件用代码实现的一些简单功能,拖动slider 在label上显示slider的值,当slider值大于90的时候,弹出一个警告;switch在变换开关的时候,实现隐藏事件:功能如下:

[img]

[/img]

[img]

[/img]




1.创建一个新工程叫Slider_SwitchDemo; File->New->Project ->single View Application -> next

[img]

[/img]



2.在SSDViewController.h文件中定义三个控件对象,因为需要使用到Alert的委托方法,添加UIAlertViewDelegate协议
#import <UIKit/UIKit.h>  
@interface SSDViewController : UIViewController<UIAlertViewDelegate>
{
    UISlider *slider;
    UILabel *sliderLabel;
    UISwitch *switchTest;
}
@end






3.滑块的高度被忽略,宽度不被忽略,所设置frame的时候,高度设为0;slider值默认范围0--1.0,可以通过mininumValue和maxinumValue两个属性进行设置;在slider滑块拖动改变其值的时候用UIControl类的addTarget方法为UIControlEventValueChanged事件添加一个动作。

[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
 CGRect frame = CGRectMake(10, 50, 200, 0);
//    slider高度被忽略,所以设置为0 
    slider = [[UISlider alloc] initWithFrame:frame];
//   slider系统默认取值范围是0.0--1.0之间 , 给slider 设置默认值
//    slider.value=0.3;   
//    如果想改变slider值的范围大小,设置为0--100可以这样
    slider.minimumValue=0.0;
    slider.maximumValue = 100.0;  
//    设置滑块左边值颜色为绿色。系统默认为蓝色
    slider.minimumTrackTintColor = [UIColor greenColor];
//    设置滑块右边值为红色,系统默认为白色
    slider.maximumTrackTintColor = [UIColor redColor];
//    给slider是指默认值30
    slider.value = 30;   
//continuous属性,是指滑块值在拖地触发滑块值变动
    slider.continuous = YES;
       [slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:slider];





4.触发事件是弹出一个警告,当滑块值大于90的时候,这个事件才被触发,想在此处提的一点是Alert多个按钮时,怎样去调用其他事件的发生,此处就用到了Alert的委托方法;
-(void)sliderValueChanged:(id)sender
{
    UISlider *sliderValueChange = (UISlider *)sender;//做一个类型装换
    if (sliderValueChange == slider) {
        float value = sliderValueChange.value;
        slider.value =value;
        NSLog(@"%f",value);
        sliderLabel.text = [NSString stringWithFormat:@"%.2f",slider.value];
        NSLog(@"------%@",sliderLabel.text);
//  当slider滑条值大于90的时候,弹出警告
        if (sliderValueChange.value>=90) {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告"
                                                            message:@"滑动条值高达90了"
                                                           delegate:self
                                                  cancelButtonTitle:@"嗯嗯  我知道了!"
                                                   otherButtonTitles:@"返回初始位置",nil];
            [alert show];
                   }
    }
    




Alert的委托方法,用buttonIndex按钮索引值代表按钮,处理按钮事件
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0) {
        NSLog(@"ceshi");
    }
    if (buttonIndex == 1) {  //点击了返回初始位置按钮事,重新h设置按钮的值未初始化时候的值
        slider.value=30;
        sliderLabel.text = [NSString stringWithFormat:@"%.2f",slider.value];//将slider值转换成字符串赋给text
    }

}





5.在说说关于Switch控件的的实现,
CGRect switchFrame = CGRectMake(100, 200, 0, 0);
//初始化
switchTest = [[UISwitch alloc] initWithFrame:switchFrame];
//设置switch初始状态为ON
switchTest.on = YES;
//添加一个触发事件,当点击时候,触发这个事件
[switchTest addTarget:self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged];

[self.view addSubview:switchTest];



触发事件的方法,可以在里面添加其他代码
-(void)switchValueChanged:(id)sender
{
    
    if (switchTest.on == YES)
    {
        switchTest.hidden=YES;
    }
    else {
//        switchTest.on = YES;
    }

}






  • 大小: 91.7 KB
  • 大小: 139.1 KB
  • 大小: 184.5 KB
分享到:
评论

相关推荐

    代码实现UISlider 和 UISwitch

    在iOS开发中,UISlider和UISwitch是两种常用的UI组件,它们在用户界面交互中扮演着重要角色。这篇教程将深入探讨如何通过代码实现这两个控件,并提供实践示例。 首先,UISlider是一种允许用户在指定范围内选择一个...

    IOS应用源码——UIslider转圆圈.zip

    【标题】"IOS应用源码——UIslider转圆圈.zip" 涉及的主要知识点是iOS应用开发中的自定义UI组件,特别是关于UISlider的扩展和动画效果的实现。UISlider是苹果iOS SDK中提供的一种基本UI控件,通常用于用户在给定范围...

    IOS应用源码——UIslider转圆圈.rar

    然而,为了使应用程序更具吸引力和独特性,开发者经常需要对默认的UISlider进行定制,使其符合应用的设计风格或者实现特定的交互效果。 【描述】"IOS应用源码——UIslider转圆圈.rar" 提示了这个源码示例可能将...

    IOS源码应用Demo-UIslider转圆圈.zip

    2. 自定义控件:学习如何创建UISlider的子类,并重写其属性和方法以实现特定的行为。 3. 动画编程:掌握使用Core Animation或者UIView动画API来创建复杂的动态效果,例如UISlider的圆周运动。 4. 用户交互:了解如何...

    CharonChui#iOSStudyNote#11.UI基础之UISlider&UISwitch1

    11.UI基础之UISlider&UISwitchoverride func viewDidLoad() {// 左边的图标// 右边的图标// 设置滑块图标/

    swift学习控件篇:UITextField+UISwitch+UISlider+UIimageView

    在这篇关于"swift学习控件篇:UITextField+UISwitch+UISlider+UIImageView"的文章中,我们将深入探讨四个常用的UI控件:UITextField、UISwitch、UISlider和UIImageView,并理解如何在Swift中使用它们。 首先,...

    由UISlide实现自定义的UISwitch

    本教程将深入探讨如何通过UISlide来实现一个自定义的UISwitch,该开关用于用户在男性和女性之间选择性别。 首先,我们需要了解UISwitch的基本结构。UISwitch主要由两个部分组成:滑块(slider)和轨道(track)。...

    ios-自定义UISlider.zip

    这个“ios-自定义UISlider.zip”文件包含了一个定制版的UISlider,它增强了原生滑杆的功能,使其在翻页场景下更具实用性。下面将详细介绍这个自定义滑杆的主要特点和实现方式。 1. **自定义滑块外观**:原生的...

    UISlider.zip

    这个压缩包“UISlider.zip”显然是一个包含UISlider自定义样式的示例项目,展示了如何调整滑条的图标大小、位置,以及如何改变滑条的大小、颜色和形状。下面将详细讲解UISlider的使用及其自定义方法。 首先,...

    UISlider Demo代码

    本`UISlider Demo`代码旨在通过实例展示如何创建、自定义以及操作UISlider,帮助开发者更好地理解和运用这个组件。 一、UISlider基本使用 UISlider可以通过Interface Builder或代码方式创建。在故事板中,可以从...

    iphone/ipad实现自定义的开关UISwitch

    本文将详细介绍如何在iPhone和iPad上实现自定义的开关控件,以及如何通过使用UISlider来模拟开关效果。 首先,我们要理解UISwitch的基本结构。UISwitch由两部分组成:滑块(slider)和轨道(track)。默认情况下,...

    UISlider的用法举例

    列举了UISlider的一些常用属性及用UISlider控制uilabel内字体的大小,

    IOS开发控件源代码 UICatalog

    通过运行这个应用,开发者可以直观地查看这些控件的默认样式和行为,这对于理解和学习iOS界面设计非常有帮助。 1. UIButton:按钮是用户进行交互的常见元素,UICatalog中展示了不同类型的按钮,如系统按钮、定制...

    ios的UISlider自定义

    在iOS开发中,UISlider是苹果提供的一个标准控件,用于展示用户可调节的数值范围。...通过学习和应用这些教程,开发者可以更好地理解和掌握如何使用图片来自定义iOS的UISlider,从而提升应用的用户体验和视觉效果。

    Xcode中使用slider和switch控件实现音乐的播放和音量的控制

    在Xcode的Interface Builder中,打开你的故事板文件(Storyboard),在ViewController的视图上拖拽一个UISlider和UISwitch控件。UISlider用于调整音量,UISwitch则用于控制音乐的播放和暂停。记得为这两个控件设置...

    通过UISlider改变背景颜色

    在Xcode项目中,`UI_UISlider-颜色.xcodeproj`包含了实现这一功能的所有源代码。项目可能包含一个ViewController类,它继承自`UIViewController`,并实现了`UISlider`的代理方法和颜色转换逻辑。可能还有相应的...

    UISlider的用途的方法

    本文将详细讨论UISlider的用途和基本的实现方法,包括一个具体的执行代码示例。 首先,要了解UISlider的用途,我们需要从其功能谈起。UISlider一般用于以下几种情况: 1. 进行数值选择:UISlider可以方便用户通过...

    UISlider控制北京颜色

    4. **连接IBOutlet和IBAction**:确保在故事板中或使用Swift代码设置了UISlider与ViewController之间的连接,包括IBOutlet(如果需要对UISlider进行配置)和IBAction(用于响应滑块值的变化)。 5. **运行和测试**...

    UISlider-TrackHeight:调整UISlider的滑动条高度

    UISlider-TrackHeight 调整UISlider的滑动条高度 Import pod 'UISlider-TrackHeight', '~&gt; 1.0.2' Usage #import "UISlider+VDTrackHeight.h" self.slider.vd_trackHeight = 5.0f; License

Global site tag (gtag.js) - Google Analytics