博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocoa touch 组件
阅读量:5790 次
发布时间:2019-06-18

本文共 1960 字,大约阅读时间需要 6 分钟。

1.UIButton

苹果系统用户交互的思想是基于消息和响应的,手动让组件触发didTapButton这个方法:

[myButton addTarget:self action:@selector(didTapButton:)forControlEvents:UIControlEventTouchUplnside];

上文方法中最后一个参数是位掩码事件.在按钮事件中,默认使用UIControlEventTouchUplnside(用户手指离开屏幕的时候触发), 还有另一个常用的事件

UIControlEventValueChanged(当组件的值发生变化的时候触发),例如slider的变化.

很容易就能自定义UIButton的外观,

让按钮普通状态是红色的,高亮状态是蓝色的:

[button setTitleColor:[UIColor redColor] forState:UIControlStateNorrnal]; [button setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];

创建一个带背景图片的按钮:

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];[myButton setBackgroundImage:myBackgroundImage forState:UIControlStateNormal];

2.UISlider  

sliders有一个可以控制值从最小到最大的按钮.

在sliders 的值发生变化手动触发sliderValueChanged方法

UISlider *slider = [[UISlider alloc] init]; [slider setMinimumValue:0];[slider setMaximumValue:l00];[slider addTarget:self action :@selector(sliderValueChanged : ) forControlEvents :UIControlEventValueChanged];

3.UIAlertView  

某些情况下,我们要打断用户的行为,提醒用户,我们需要UIAlertView(弹窗),判断用户选择了哪个按钮我们需要实现UIAlertViewDelegate协议(protocol):

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message :@"Message"delegate: self cancelButtonTitle :@"Cancel "otherButtonTitles:@"OK", nil];

4.UITableView  

使用UITableview 你需要实现2个协议:UITableViewDataSource 和 UITableViewDelegate,在你的视图中你需要继承UITableViewController

当UITableview显示在屏幕上的时候会经历几个过程:

第一,数据源方法numberOfSectionslnTableView 被调用.

第二,tableview得到sections中的所有行.

最后,创建单元格,tableView调用 cellForRowAtIndexPath(该方法会返回UITableViewCell object),每个单元都有一个属性

reuseldentifier用于每个单元的唯一标识.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtlndexPath:(NSlndexPath *)indexPath{UITableViewCel1 *cell = [tableView dequeueReusableCellWithldentifier:@"Cellldentifier"];if (cell == nil) {cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault   reuseldentifier:@"Cellldentifier"];[[cell textLabel] setText:[NSString stringWithFormat:@"Row %d", [indexPath row]] ];return cell;}

  

转载地址:http://cagyx.baihongyu.com/

你可能感兴趣的文章
Web框架的常用架构模式(JavaScript语言)
查看>>
如何用UPA优化性能?先读懂这份报告!
查看>>
这些Java面试题必须会-----鲁迅
查看>>
Linux 常用命令
查看>>
CSS盒模型
查看>>
ng2路由延时加载模块
查看>>
使用GitHub的十个最佳实践
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
JAVA的优势就是劣势啊!
查看>>
ELK实战之logstash部署及基本语法
查看>>
帧中继环境下ospf的使用(点到点模式)
查看>>
BeanShell变量和方法的作用域
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
由数据库对sql的执行说JDBC的Statement和PreparedStatement
查看>>
springmvc+swagger2
查看>>
我的友情链接
查看>>
Java Web Application 自架构 一 注解化配置
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>