IOS中最常用到的控件UIButton、UISlider、UISwitch、UISegmentedControl通过Xib文件拖动生成非常简单,其实用代码实现也是一样的简单,当然,用代码实现能够掌握到更多的东西。

上图中包涵提到的4种控件,UIButton按钮、UISlider滑块、UISwitch开关、UISegmentedControl分类

首先创建一个名为CodeControls的Empty Application项目

AppDelegate.h和AppDelegate.m文件中和IOS代码实现Hello World中的一样

MainViewController.h

[cpp] view plaincopy
  1. <span style="font-size:10px;">#import <UIKit/UIKit.h>
  2. @interface MainViewController : UIViewController
  3. @property (strong, nonatomic) UIButton *myBtn;
  4. @property (strong, nonatomic) UISlider *mySlider;
  5. @property (strong, nonatomic) UISwitch *mySwitch;
  6. @property (strong, nonatomic) UISegmentedControl *mySc;
  7. @end</span>

MainViewController.m

[cpp] view plaincopy
  1. <span style="font-size:10px;">#import "MainViewController.h"
  2. @interface MainViewController ()
  3. @end
  4. @implementation MainViewController
  5. @synthesize myBtn,mySlider,mySwitch,mySc;
  6. - (void)viewDidLoad
  7. {
  8. // 加载UIView
  9. UIView *mainView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
  10. mainView.backgroundColor = [UIColor whiteColor];
  11. self.view = mainView;
  12. [mainView release];
  13. // 创建一个Button按钮
  14. UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  15. btn.frame = CGRectMake(100, 30, 57, 57);
  16. [btn setTitle:@"Button" forState:UIControlStateNormal];
  17. [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  18. [btn setBackgroundImage:[UIImage imageNamed:@"icon.png"] forState:UIControlStateNormal];
  19. [btn addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchUpInside];
  20. myBtn = btn;
  21. [self.view addSubview:myBtn];
  22. // 创建一个Slider划块按钮
  23. UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(50, 180, 200, 10)] autorelease];
  24. slider.minimumValue = 0.0f;
  25. slider.maximumValue = 100.0f;
  26. slider.value = 50.0f;
  27. [slider addTarget:self action:@selector(onChange:) forControlEvents:UIControlEventTouchUpInside];
  28. mySlider = slider;
  29. [self.view addSubview:mySlider];
  30. // 创建一个UISwitch开关按钮
  31. UISwitch *sbtn = [[[UISwitch alloc] initWithFrame:CGRectMake(50, 210, 200, 50)] autorelease];
  32. [sbtn addTarget:self action:@selector(onSwitch:) forControlEvents:UIControlEventTouchUpInside];
  33. mySwitch = sbtn;
  34. [self.view addSubview:mySwitch];
  35. // 创建一个UISegmentedControl
  36. NSArray *btnList = [NSArray arrayWithObjects:@"left",@"center",@"right", nil];
  37. UISegmentedControl *sc = [[[UISegmentedControl alloc] initWithItems:btnList] autorelease];
  38. sc.frame = CGRectMake(50, 250, 200, 60);
  39. [sc addTarget:self action:@selector(onSelect:) forControlEvents:UIControlEventTouchUpInside];
  40. mySc = sc;
  41. [self.view addSubview:mySc];
  42. [super viewDidLoad];
  43. }
  44. // 点击Button触发
  45. - (void)onClick:(id *)sender
  46. {
  47. }
  48. // 拉动Slider划块触发
  49. - (void)onChange:(id *)sender
  50. {
  51. }
  52. // 选择Switch触发
  53. - (void)onSwitch:(id *)sender
  54. {
  55. }
  56. // 选择UISegmentedControl触发
  57. - (void)onSelect:(id *)sender
  58. {
  59. }
  60. </span>

这里没有写点击每个控件的具体实现方法。

UICnotrol Class 下的所有Touch事件

[cpp] view plaincopy
  1. UIControlEventTouchDown
  2. UIControlEventTouchDownRepeat
  3. UIControlEventTouchDragInside
  4. UIControlEventTouchDragOutside
  5. UIControlEventTouchDragEnter
  6. UIControlEventTouchDragExit
  7. UIControlEventTouchUpInside
  8. UIControlEventTouchUpOutside
  9. UIControlEventTouchCancel
  10. UIControlEventValueChanged
  11. UIControlEventEditingDidBegin
  12. UIControlEventEditingChanged
  13. UIControlEventEditingDidEnd
  14. UIControlEventEditingDidEndOnExit
  15. UIControlEventAllTouchEvents
  16. UIControlEventAllEditingEvents
  17. UIControlEventApplicationReserved
  18. UIControlEventSystemReserved
  19. UIControlEventAllEvents

UIButton Class下的所有按钮样式

[cpp] view plaincopy
  1. UIButtonTypeCustom
  2. UIButtonTypeRoundedRect
  3. UIButtonTypeDetailDisclosure
  4. UIButtonTypeInfoLight
  5. UIButtonTypeInfoDark
  6. UIButtonTypeContactAdd

IOS代码实现常用控件UIButton、UISlider、UISwitch、UISegmentedControl相关推荐

  1. 黑马程序员——IOS学习—基本UI控件的代码创建

    -----------Java培训.Android培训.IOS培训..Net培训.期待与您交流!------------  本节采用代码的方式系统了解一下IOS主要UI控件的创建和使用,在开始之前首先 ...

  2. 精通iOS移动开发(Xcode7Swift2;):常用控件的使用-李发展-专题视频课程

    精通iOS移动开发(Xcode7&Swift2;):常用控件的使用-15794人已学习 课程介绍         应用程序的每个页面,都是由各种控件组成的.所以灵活掌握每个控件的使用方法,是每 ...

  3. Flutter 常用控件使用详解

    目录 配置 Flutter常用控件 Text TextField组件 Container Image GridView Row水平组件 Column垂直布局 Stack层叠布局 参考 配置 由于Flu ...

  4. Xamarin iOS教程之页面控件

    Xamarin iOS教程之页面控件 Xamarin iOS 页面控件 在iPhone手机的主界面中,经常会看到一排小白点,那就是页面控件,如图2.44所示.它是由小白点和滚动视图组成,可以用来控制翻 ...

  5. 设计器的使用及常用控件

    设计器的使用及常用控件 文章目录 设计器的使用及常用控件 一.设计器 二.设计器中的常用控件 一.设计器 1.设计器的使用 2.通过代码操作ui文件 #include "mainwindow ...

  6. 零基础学Android之常用控件

    常用控件 上次我们讲了布局:线性布局.表格布局.帧布局和相对布局,这个布局,它是在整个移动端设计内容的一个框架的方式,以什么方式来设计界面.最终在界面里面,放置的是控件,所谓控件,就是程序员可以控制的 ...

  7. C#常用控件的属性以及方法(转载)

    -----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...

  8. openlayers添加按钮_OpenLayers3加载常用控件使用方法详解

    本文实例为大家分享了OpenLayers3加载常用控件使用的具体代码,供大家参考,具体内容如下 1. 前言 地图控件就是对地图的缩放.全屏.坐标显示控件等,方便我们对地图进行操作.OpenLayers ...

  9. 【Qt教程】2.1 - Qt5 UI设计器、常用控件

    1. UI设计器使用 新建工程,将 .ui文件勾上. 双击 .ui文件,会弹出UI设计器,其布局大概为: 其中UI界面的信号槽只能使用系统事件,不能使用自定义信号与槽.所以主要还是由用户代码来完成. ...

最新文章

  1. Visual Studio中的快捷键
  2. Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
  3. 博士申请 | 香港中文大学(深圳)纪冬旭老师招收博士生/研究助理/博士后
  4. 方法练习2_求出1到100的累加和
  5. jinja2的转义详解
  6. 原来这些元器件最容易引发电路故障。。。
  7. Web容器和Servlet生命周期
  8. 情人节福利,用JAVA做个QQ机器人,帮我提醒女神按时喝水和陪她聊天~(开源)
  9. 打拼10年的数据分析师,终于明白职场鄙视链才是最大的沉没黑洞
  10. pycharm无需汉化教程(无需下载汉化包)
  11. js把txt转为html,js格式化文本为html标签
  12. 单场淘汰制场次计算方法_单循环淘汰赛什么意思?
  13. 灰色预测模型python实例_12-6:数学模型(灰色模型)与Python编程预测
  14. html项目答辩策划书,职业生涯规划大赛答辩会策划书
  15. 疫情之后的2020长什么样
  16. QT学习Github地址,git使用记录
  17. Oracle 表空间详解(tablespace)
  18. Python 1~500 求和(循环遍历求和,高斯求和,定义函数求和)
  19. A NOVEL DEEP FEATURE FUSION NETWORK FOR REMOTE SENSING SCENE CLASSIFICATION(论文翻译)
  20. 新车可以无牌上路7天_新车可以无牌上路多少天

热门文章

  1. 【Android 逆向】修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )
  2. 【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read from remote )
  3. String类型数组 根据首字母排序
  4. c free 使用MSDN library定制
  5. itchat 动态注册
  6. Lightoj 1123 - Trail Maintenance(最小增量生成树)
  7. HDU1151 Air Raid
  8. java包的命名规则技巧
  9. dp application in paper (c#)
  10. OpenGL初学时遇到的一些常见的函数之解析