UI基本控件和自定义视图

UILabel

常用属性:

UITextField

常用属性:

输入控制属性:

外观控制属性:

输入框让键盘回收的方法:

1、通过协议

(1)让AppDelegate成为输入框的代理对象 ,让TA去执行事件(AppDelegate接受输入框的协议)

(2)接受了协议就要执行键盘回收的方法

(3)建立关系:

如:textField.delegate = self;(self指AppDelegate)

2、通过Tag值

(1)创建一个按钮添加触发事件,让Tag值的键盘回收

(2)按钮触发的事件方法如:通过Tag值返回的是View,要强制转换为UITextField类型的

3、设置属性

(1)只需要把输入框设置成为属性

(2)创建一个按钮添加触发事件,回收键盘

(3)按钮触发的事件方法如:

[self.textField resignFirstResponder];

UIButton

1、UIButton侧重于交互,响应事件

2、创建UIButton使用类方法

如:(system与custom的区别)

(1)如果button样式是system,那么不给定标题颜色,也能看见标题,默认蓝色

(2)如果button的样式是custom,那么除了给定标题内容之外,还需要给定标题颜色

(3)设置前景图片要用custom类型,使用custom样式,如果图片大小大于button的大小,那么图片会被压缩到与button等大,如果图片大小小于button的大小,那么保留图片大小,如果用systom类型会看不到图片

(4)设置背景图片,不论使用custom还是system,图片大于或者小于button大小,都会显示的与button等大

(5)点击时如果设置了图片,不出现闪烁的效果如:

3、button的勾选状态的显示

(1)创建一个按钮

(2)分别设置在普通状态下和选中状态下显示的背景图片

普通状态:

选中状态:

(3)为按钮添加事件让他可以在每点击一下都改变一个状态如:

4、UIButton的外观控制属性

5、UIButton的添加事件的方法

UIImage

1、这是一个图片控件,不能直接显示,需要借助别的容器,比如button的前景或者背景图还有可以放在UIImageView上

2、获取某张图片对象如:

1、根据图片的名字

UIImage *image = [UIImage imageNamed:@“”];

2、根据路径

NSString *path = [[NSBundle mainBundle] pathForResource:@“图片名字” ofType:@“图片类型如:jpg”];

UIImage *image = [UIImage imageWithContentsOfFile:path];

UIImageView

1、存储指定图片

UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

2、动态图

(1)先把图片放在

(2)创建一个可变数组储存图片

(3)循环得到图片,并且把图片存进数组

(4)制定做动画的所有图片

(5)指定动画时间,动画重复次数

(6)开启动画

(7)添加imageView到视图上

属性:

自定义视图

优点:可以自己封装视图,降低开发成本,提高开发效率

特点:可复用,可移植,精炼(高内聚,低耦合)

如:把Label和textField放在一个视图当中,为了方便操作,可以把用到的控件设置为属性,方便外界调用,如创建一个自定义视图是LTView

步骤:

1、明确该视图内部有什么控件,并且将所有控件声明成属性

2、重写 initWithFrame方法,在里面创建子视图,并且添加子视图,这个里面传入的参数frame是LTView的位置和大小,在重写的方法里面添加的label和textField是LTView的子视图。代码如下:

3、为LTView添加方法,为里面的label和textField添加属性,如:

4、哪个类要用就引入LTView的头文件,记住:视图值负责展示,视图控制器负责执行事件。

拓展:如果外界要连续用到多个LTView,可以把里面不同的数据放到一个数组当中,然后用for循环添加LTView对象

时间: 2024-10-11 17:46:58

UI基本控件和自定义视图的相关文章

自定义的jquery ui树控件

简单的自定义jquery ui树控件,用于机构人员,支持自动加载下级节点数据 jQuery.widget("xway.Tree", { _Node: function(data) { this.id = data.type + "_" +data.id; this.trid = "tr_" + this.id; this.label = data.label; this.parent = null; this.tree = null; this.

UWP学习记录7-设计和UI之控件和模式4

UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中进行浏览. 对于鼠标,导航按钮显示在鼠标悬停位置上. 对于键盘,使用箭头键移动浏览该集合. 翻转视图最适合浏览小到中型集合中的图像(最多 25 个项目左右). 此类集合的示例包括产品详细信息页中的项目或相册中的照片. 虽然微软不建议将翻转视图用于大多数大型集合,但是该控件通用于查看相册中的个别图像.

UWP学习记录4-设计和UI之控件和模式1

UWP学习记录4-设计和UI之控件和模式1 1.控件和事件简介 在 UWP 应用开发中,控件是一种显示内容或支持交互的 UI 元素. 控件是用户界面的构建基块. 我们提供了超过 45 种控件供你使用,范围从简单按钮到网格视图之类的功能强大的数据控件. 模式是合并多个控件来创造新内容的一种方式. 应用添加控件实现UI,主要是三个步骤: A.将控件添加到你的应用 UI. B.设置控件的属性,如宽度.高度或前景色. C.将代码添加到控件的事件处理程序,从而使其执行一些任务. 添加应用一般通过: A.1

UWP学习记录9-设计和UI之控件和模式6

UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象,例如椭圆.矩形.直线.贝塞尔曲线等,Path 是最通用的 Shape,因为使用它可以定义任意几何图形.图形这块,是和wpf一样的. 2.布局控件 布局控件这块,大体上也是和wpf一样的.布局控件包含边框(Border).画布(Canvas).网格(Grid).RelativePanel.Stack

UWP学习记录10-设计和UI之控件和模式7

UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. 中心的内容可以显示在全景视图中,这样用户一眼就能看见新增内容.可用功能和相关信息. 中心通常具有一个页标题,每个内容部分各有一个部分标题. Pivot,透视表控件,用于导航经常访问的不同内容类别. 透视表允许在两个或多个内容窗格之间进行导航,并且依靠文本标题来表明内容的不同部分. SemanticZ

推荐几款基于HTML5的优秀UI开发控件

UI开发控件很多,当需要满足跨平台的需求时,目前比较火爆的是HTML5技术,小编在这里给工程师们推荐几款评价较好的几款控件,希望能够帮助到大家.      控件一:Essential Studio for JavaScript 概述:essential studio是首款专门用于LOB应用开发的JavaScript框架.包含40多种独特的.全新设计的控件,包括网格.图表.计量器.编辑器.树形视图.菜单.OLAP网格等等. 特点: 1.基于最新的HTML5技术的UI开发控件: 2.包括多种类型的子

让系统自动控制控件在控制器视图的位置

IPhone.IPad经常会遇到横竖屏切换,或者需要自动调整大小.如果你的界面不能用storyboard和xib来生成界面的话,先把控制器视图的frame属性值固定下来,然后添加subview(子视图)的时候,就可以使用视图继承类(UIView) 自带的 autoresizingMask 属性,之后如果横竖屏切换,或者是使用UIPopoverController之类的方法,就可以只设置一次frame属性,以后的frame属性都是自适应的(frame缩小太多的话效果不好,根据情况而定). 原理:设

(四) kendo UI 模板控件template使用与注意事项

<script id="index" type="text/x-kendo-template"></script> ======================================================= <script id="index" type="text/x-kendo-template"> <span>Hello World!</span&

控件移除子视图和从父视图上移出

控件从父视图上移出 一句代码 [self .perTableView removeFromSuperview]; 其实如果移除控件所有子视图 也只需要一句代码即可 [sectionView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];