xib支持图形化操作,提供了几乎所有的控件可供选择,只需拖动到相应的位置即可,但是控件的后台代码仍然需要手动编写,一定程度上加速了前台的开发.

xib快速开发程序,手写代码速度比较慢

xib适合做静态页面,代码适合动态复杂的页面

xib不适合svn/git代码管理,代码比较适合

xib不适合后期维护,代码适合长期维护

如果xib文件名与类所在的文件夹名相同,可以直接使用init方法,自动查找同名的xib资源文件

UISwitch 开关

设置显示时的开关状态

[mySwitch setOn:YES];

设置开状态的颜色

mySwitch.onTintColor=[UIColor redColor];

设置关状态的颜色

mySwitch.tintColor=[UIColor redColor];

开关中间的按钮的颜色

mySwitch.thumbTintColor=[UIColor yellowColor];

UIActivityIndicatorView 活动指示器(加载东西时出现的状态显示控件)

默认为YES,YES表示隐藏

activityIndicator.hidden=NO;

UISlider 滑动条

设置滑动条最小值

mySlider.minimumValue=1;

设置进度条的最大值

mySlider.maximumValue=10;

设置进度条按钮的背景颜色

mySlider.thumbTintColor=[UiColor redColor];

左侧滑动条的颜色

mySlider.minimumTrackTintColor=[UIColor blueColor];

右侧滑动条的颜色

mySlider.maximumTrackTintColor=[UIColor yellowColor];

UIStepper 增减按钮

最小减到的值

stepper.minimumValue=0;

最大增加到的值

stepper.maximumValue=1;

每次改变的值,每次加减0.2

stepper.stepValue=0.2;

UIProgressView 进度条

设置进度的位置为0

progressView.progress=0;

完成进度的进度条颜色

progressView.trackTintColor=[UIColor redColor];

未完成的进度条颜色

progressView.progressTintColor=[UIColor greenColor];

UIDatePicker 日历

显示日期模式(还有钟点模式,日期加钟点模式)

picker.datePickerModeDate=UIDatePickerModeDate;

NSDate 日期

设置最大日期

NSDate nowDate=[NSDate date];

NSDate maxDate=[nowDate dateByAddingTimeInterval:3600*24*30];

picker.maximumDate=maxDate;

UIAlertView对话框

设置弹出对话框的内容

UIAlertView *alertView=[[UIAlertView alloc] initWithTitle:@"提示" message:@"你确定要删除吗?" delegate:nil cancelButtonTitle:@"否" otherButtonTitles:@"是", nil];

设置抬出对话框的模式

alertView.alertViewStyle=UIAlertViewStyleLoginAndPasswordInput;

设置对话框显示出来,若未设置,将不会显示

[alertView show];

UIActionSheet从手机下方推出的操作选择列表

设置显示推出框,不设置将不会推出

UIActionSheet *sheet=[[UIActionSheet alloc] initWithTitle:@"操作" delegate:self cancelButtonTitle:@"保存到手机" destructiveButtonTitle:@"发送给好友" otherButtonTitles:@"其他共享", nil];设置推出框的内容

sheet.actionSheetStyle=UIActionSheetStyleAutomatic;推出框的模式

[sheet showInView:self.view];

NSTimer 计时器

设置计时器每隔一秒触发一次事件,调用本类中的方法并重复调用

_timer=[NSTimer scheduledTimerWithTimeInterval:1 target: self selector: @selector(updateLabel:) userInfo:nil repeats:YES];

NSTimer *timer;

//暂停计时器(在很久以后再开始)

[timer setFireDate:[NSDate distantFuture]];

//重启计时器(从当前按时刻开始)

[timer setFireDate:[NSDate date]];    //或者(从过去时刻开始)[timer setFireDate:[NSDate distantPast]];

//毁掉计时器

if([timer isValid])

{

[timer invalidate];

}

UI设计中的各种小控件的更多相关文章

  1. Qt项目ui文件中新添加的控件在代码中不识别的问题解决

    今天在学Qt框架的信号槽,然后发现在ui中加的控件,通过ui-> 找不到,没有识别,于是上网查找了一下问题 解决方法 添加ui控件后,执行程序,退出程序,将debug目录下的ui_XXXX.h拷 ...

  2. UI设计中的48dp定律【转】

    有朋友建议我偶尔写写技术类的文章,所以我打算开始穿插性的写一些偏技术方面的科普文章,尽量往小白能看懂的方向写,今天我来讲讲UI设计中的48dp定律. 那么先说说什么是dp ?其实对于一个非技术人员要把 ...

  3. UI各种小控件的用法

    今天给大家列举出来UI中的一些小控件的用法.方便大的学习与使用 一些方法和属性我们能够查看API文档.不必将每一个控件的功能都记住, 由于在使用的过程中,我们能够查看API文档.方便使用,我们仅仅要记 ...

  4. 如何: 在 VS中的设计时刻主从表绑定控件到数据库

    这个示例展示了如何在 Visual Studio 2005 的设计时刻,把一个 data-aware 控件 (XtraGrid.XtraPivotGrid.XtraVerticalGrid 等) 绑定 ...

  5. ComboBox中如何嵌套TreeView控件

      在ComboBox中嵌套TreeView控件,有时候我们在设计界面的时候,由于界面设计的需要,我们需要将TreeView控件嵌套在ComboBox中,因为TreeView控件实在是太占用地方了,要 ...

  6. 怎样在Android实现桌面清理内存简单Widget小控件

    怎样在Android实现桌面清理内存简单Widget小控件 我们常常会看到类似于360.金山手机卫士一类的软件会带一个widget小控件,显示在桌面上,上面会显示现有内存大小,然后会带一个按键功能来一 ...

  7. 基于jquery 封装的 select 小控件,解决 IE6 7 8里 select 边框 高度 无法遮挡等问题

    一.基本原理 select控件在浏览器中是个永远的痛,不同的版本解析出来的可谓五花八门.主要有以下问题: 1,IE6中无法设置高度,Z INDEX永远在最上,无法被其它层遮挡 2,IE7中可以设置高度 ...

  8. matlab中uicontrol创建用户界面控件

    来源:https://ww2.mathworks.cn/help/matlab/ref/uicontrol.html?searchHighlight=uicontrol&s_tid=doc_s ...

  9. UI设计中px、pt、ppi、dpi、dp、sp之间的关系

    UI设计中px.pt.ppi.dpi.dp.sp之间的关系 武汉AAA数字艺术教育 2015-07-24 14:19:50 职业教育 pi px 阅读(3398) 评论(0) 声明:本文由入驻搜狐公众 ...

随机推荐

  1. row format delimited fields terminated by ','

    row format delimited fields terminated by ',' 以','结尾的行格式分隔字段

  2. Hibernate使用注意事项

    映射的POJO类型中如果有基本类型最好都是用包装类来代替: 注意关联关系的正确设置,一对一(主键方式.外键外键方式),一对多和多对多的配置,单向.双向的配置: 更新核心配置文件的mapping:如果是 ...

  3. linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用

    lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录  3.网络文件系统的文件,4.字符设备文件  5.(函数)共享库  6.管道,命名管道 7.符号链 ...

  4. python中SQL的使用

    # 常用的关系型数据库有 mysql postgresql sqlite 等(具体区别上课再说) # # 传统数据库以表的形式存储数据 # 一张表可以有很多个字段 # 以用户表为例, 存储 4 个数据 ...

  5. EasyUI DataGrid 相同连续列合并

    扩展方法:$.extend($.fn.datagrid.methods, { autoMergeCells: function(jq, fields) { return jq.each(functio ...

  6. /dev/null简介

    在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF[1]. 在程序员行话,尤其是Unix行话中,/d ...

  7. linux tableau server 连接 presto

    记录一下这个弄个好久的难题 linux tableau server 版本  tableau-server-2018-2-0.x86_64.rpm 安装过程 我参照了这儿仁兄   http://ju. ...

  8. 桥接模式和NAT模式差别

    bridged networking(桥接模式)      在这样的模式下.VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它能够訪问网内不论什么一台机器. 在桥接模式下.你须要手工为虚 ...

  9. Unity3D学习笔记——游戏组件之Mesh(网格组件)

    Mesh:网格组件.主要用于设置外形和外表. Mesh Filter:网格过滤器.就是为游戏对象添加一个外形. 例:设置外形为Sphere  如果获取的网格拥有蒙皮信患,Unity将自动创建一个skn ...

  10. maven打包加速(转) (开启多线程,之前发现只占用一核CPU100%,其他CPU闲置的情况)

    采用maven打包时,发现速度超慢,打包一次5-10分钟或者更长时间过去了,严重浪费了一天的时间.因此整理了一下maven打包加速的问题.1.在maven打包中去掉, maven clean, mav ...