holydancer原创,如需转载,请在显要位置注明:
转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7400397
控件UISlider称之为滑块,用户可以进行拖拽,可以通过拖拽来调节一些信息,比如音量,背光亮度等,我们今天用滑块来调节一下控件的透明度。
首先去网上找一个iphone壁纸作为我们这个demo的背景图片,下载下来后将其拖到应用中,,然后在右下角media库中会找到这个图片,然后如下图将其拖拽到xib文件上,并按图中标注的进行设置,分别是铺展开,另一个是取消用户响应。取消用户响应我们稍候会作解释,现在将这幅图片设为背景后我们往上面放上两个控件,额,就放一个TextField和一个button吧,然后再拖上一个Slider和一个label用来表示当前透明度。将label的背景设为白色了,不然看不清楚。
这时我们画好界面后,就开始在代码中生成对应的输出口来绑定控件了,在创建xib文件和viewController文件绑定的输出口时,可分别双击xib文件和viewController.h文件打开两个独立窗口,然后在xib文件的窗口中按着control键单击控件并拖拽到viewController.h文件中的声明部分,这样便会弹出一个窗口让你设置输出口的名字,设置好后会自动生在输出口并将其与xib文件中的控件绑定,如下:
这时我们就要写IBAction方法来捕捉滑块的变化了,我们命名为sliderChanged,参数为自动生成的sender,表示该slider.我们将各个控件透明度的变化也写到这个方法里,该方法会捕捉slider值的变化,然后调节各个控件的透明度。另外我们还要再写一个方法用来在文本框编辑时点击别的地方来关闭键盘,命名为closeType,依然标著IBAction用来声明这是一个响应操作。看代码:
viewController.h:
- #import <UIKit/UIKit.h>
- @interface ViewController : UIViewController
- @property (retain, nonatomic) IBOutlet UILabel *myLabel;
- @property (retain, nonatomic) IBOutlet UISlider *mySlider;
- @property (retain, nonatomic) IBOutlet UITextField *myTextField;
- @property (retain, nonatomic) IBOutlet UIButton *myButton;
- -(IBAction)closeType:(id)sender;
- -(IBAction)sliderChanged:(id)sender;
- @end
viewController.m:
- #import "ViewController.h"
- @interface ViewController ()
- @end
- @implementation ViewController
- @synthesize myLabel;
- @synthesize mySlider;
- @synthesize myTextField;
- @synthesize myButton;
- -(IBAction)closeType:(id)sender//该方法与UIControl的touch down行为联系。
- {
- [myTextField resignFirstResponder];
- //这个方法由UIControl的touch down行为触发
- //取消myTextField的第一响应者身份用来关闭键盘
- }
- -(IBAction)sliderChanged:(id)sender//将该方法与slider的value changed行为联系。
- {
- UISlider *slider = (UISlider *)sender;//转型
- //将当前的slider的值取出转成字符串并改变label的标题
- NSString *str = [[NSString alloc] initWithFormat:@"%f",slider.value];
- myLabel.text=str;
- //改变各个控件的透明度为当前的slide的值。
- myLabel.alpha=slider.value;
- myTextField.alpha=slider.value;
- myButton.alpha=slider.value;
- //释放使用过的str
- [str release];
- }
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- }
- - (void)viewDidUnload
- {
- [self setMyLabel:nil];
- [self setMySlider:nil];
- [self setMyTextField:nil];
- [self setMyButton:nil];
- [super viewDidUnload];
- // Release any retained subviews of the main view.
- }
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- {
- return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
- }
- - (void)dealloc {
- [myLabel release];
- [mySlider release];
- [myTextField release];
- [myButton release];
- [super dealloc];
- }
- @end
以上控件与IBAction的联系操作我就不画图了,与上次内容一样,这时我们就可以查看效果了:
好了,slider改变透明度完成了,这时我们来解释一下在设置图片背景时,为什么要取消用户响应,也就是如下这个选项是不勾选的:
因为我们在点击textField时会自动弹出软键盘进行编辑,我们需要触摸touch down空闲部分来关闭软键盘,我们的做法是将xib文件的view identity从UIView 改为它的子类UIControl,这样就能响应空闲地方的touch down行为,触动操作方法来关闭键盘,如果我们勾选上图片背景的交互选项,这个view就会被当作是UIControl上的一个控件,但是这个控件是没有touch down行为的,所以这时不会触发,如果取消交互选项,那么在touch图片时,该图片会捕捉到touch down,没有该行为就将其传给下面的UIControl来让其解决,所谓隔山打牛,触碰了该图片,其实就是触碰了UIControl,产生了touch down,所以就能关闭键盘了。写得有点儿啰嗦,多试试就知道是怎么回事了。
关键字:IPhone开发 ,IOS 开发 ,IPhone基础 入门 ,滑块slider ,控件 透明 ,关闭软键盘
相关推荐
通过滑动slider控件来控制对话框窗体的透明度,同时显示当前的透明度
WPF自定义进度条控件和slider 滑块控件源代码,WPF样式可自定义,ProgressBar,Slider,共享学习.
MFC界面跳转、MFC中Slider控件的使用、MFC中线程的使用!
实现了Slider滑块控件自绘,还能提示滑块的位置。一个不错的例子。
自己制作的双滑块滑动器,这只是一个模本,较完整版删减了很多功能 中间的空白处可以自己加载调色板进行填充 已经写了一组返回值,一组信号 点击滑块中间位置,可以同时拖动两个滑块
两个滑动块的拖动条,并可自定义拖动条的样式.通过拖动条中的两个滑动块可获取这个区间的值。同时还可以自定义滑杆、拖动条中的区分间隔,以及两个滑块之间的相连处。其中包含一个多滑块滑杆的自定义控件的架包。
博文http://blog.csdn.net/m_changgong/article/details/8107957源代码
类似于AJAX里的Slider控件,实用于任任浏览器
QT自绘滑条控件Slider,可设置横向和纵向,单滑块或者双滑块 效果图:https://blog.csdn.net/qq_22723497/article/details/88723666
双滑块Slider.zip,双滑块Slider
A custom range selector control in C# (with a little animating slider) By Bharath K A, 20 Aug 2008 C#里比较好用的双滑块控件,有详细的示例程序,满足各种需求。
slider双滑块,双向进行滑动,无干扰; 自定义日历控件,通过结合texbox,button,Calendar,返回今天等操作; 自定义时分控件,增大时间,减小时间等
Slider控件的使用 Slider控件的使用 Slider控件的使用 Slider控件的使用
1.包含双滑块,单滑块 2.可修改自己需要的样式 3.基本包含QSlider的基本功能 4.资源中包含滑块的使用案例
slider控件,可以实现控制几个slider
这半年一直在用object-c开发一个ios游戏。使用cocos2d和box2d 。开发游戏变的简单多了。这游戏开发了半年多了。直到最近这个游戏停止了,因为资金问题,老大没法在发更多的工资了。哎,真的非常遗憾,我一个人完成...
Slider 控件
美化的slider control控件可以参考美化的slider control控件可以参考美化的slider control控件可以参考
UCGUI SLIDER滑动条控件实验UCGUI SLIDER滑动条控件实验