UIView与控件

1 视图的分类

  • 控件。继承自UIControl类,能够响应用户高级事件。
  • 窗口。它是UIWindow对象。一个iOS应用只有一个UIWindow对象,它是所有子视图的“根”容器。
  • 容器视图。它包括UIScrollView。UIToolBar以及它们的子类。UIScrollView的子类有UITextView、UITableView和UICollectionView,在内容超出屏幕时,它们可以提供水平或垂直滚动条。UIToolbar是非常特殊的容器,他能够包含其他控件,一般置于屏幕底部,特殊情况也可以置于屏幕顶部
  • 显示视图。用于显示信息,包括UIImageView、UILable、UIProgressView和UIActivityIndicatorView等。
  • 文本和Web视图。提供了能够显示多行文本的视图,包括UITextView和UIWebView,其中UITextView也属于容器视图,UIWebView是你鞥高加载和显示HTML代码的视图
  • 导航视图。为用户提供从一个屏幕到另一个屏幕的导航(或跳转)视图,它包括UITabBar和UINavigationBar
  • 警告框和操作表。用于给用户提供一种反馈或者与用户进行交互。UIAlertView视图是一个警告框,它会以动画形式弹出来;而UIActionSheet视图给用户提供可选的操作,从屏幕底部滑出。

2 TextField控件和TextView控件

  2.1 TextField控件和TextView控件与label控件一样,是文本类控件,是可以编辑文本内容的,但比label控件多一个键盘的使用。

  2.2 TextField控件由UITextField类创建,对应UITextFieldDelegate委托协议。TextField继承了UIControl。打开TextField属性检查器,在Placeholder属性中输入提示文字,在运行时改文本是浅灰色的,当有输入动作时文泵消失。可以利用TextField后面的清楚按钮(Clear Button)清除TextField的内容

  2.3 TextView由UITextView类创建,继承自UIScrollView,对应UITextViewDelegate委托协议。

  2.4 键盘的打开和关闭

    一旦TextField和TextView等控件处于编辑状态,系统就会只能地弹出键盘,但不能自动关闭。当TextField或TextView处于编辑状态时,这些控件变成了“第一响应者”,要关闭键盘,就要放弃“第一响应者”的身份。在iOS中,事件沿着响应者链从一个响应者传到下一个响应者,如果其中一个响应者没有对事件作出响应,那么该事件会重新向下传递。

  不同的控件成为“第一响应者”之后“表现”不太一致。TextField和TextView等输入类型的控件会出现键盘,而我们只有放弃他们的“第一响应者”身份,键盘才会关闭。要放弃“第一响应者”身份,需要调用UIResponder类中的resignFirstResponder方法,此方法一般在点击键盘的return键或者是背景视图时触发。

2.5 关闭和打开键盘的通知

  在关闭和打开键盘时,iOS系统分别会发出如下广播通知:UIKeyboardDidHideNotification和UIKeyboardDidShowNotification,使用通知须在合适的时机注册和解除通知

  

2.6 键盘的种类

  在iOS中,打开有输入动作的控件的属性检测器,可以发现Keyboard的下拉选项有10种类型键盘。

  return键的文本也可以在Return Key中选择

3 开关控件、滑块控件和分段控件

  三者都是UIControl的子类

  3.1 开关控件

    开关控件类似于Window中的复选框,它只有两种状态:TURE(或YES)和FALSE(或NO),两种状态的切换方法是setOn:animated:

  3.2 滑块控件

  在视图上拖拽一个滑块控件,然后将其水平放置。打开它的属性检查器,将其最小值、最大值、初始值依次设置为0.0,1.0,0.5 。这样滑块的值就是0.0f - 1.0f之间的浮点数了

  3.3 分段控件

    功能类似于单选按钮,它有两种样式--Plain&Bordered样式和Bar样式,可通过属性检查器中的Style属性设置。Plain&Bordered样式中的每一段都可以设置文本、添加图片。Bar样式的段一般不放置图片

   

  

时间: 2024-10-14 05:01:19

UIView与控件的相关文章

读书笔记-UIView与控件

1.UIView 在Objective-C中,NSObject是所有类的“根”类.同样,在UIKit框架中,也存在一个如此神奇的类UIView.从继承关系上看,UIView是所有视图的根. 1.1.UIView家族 UIView大体分为“控件”和“视图”两类,二者均继承于UIView. UIControl类是控件类,之所以这样称呼,是因为它们都有能力响应一些高级事件.UIControl类以外的视图没有这些高级事件. 1.2.应用界面的构建层次 下图(左)是一个应用界面的构建层次图,该应用有一个U

想给UIVIew上控件添加一些动画效果

如果你还不知道怎样让一张图片缓缓滑动,渐渐消失,或者是在原地翻滚,不知道怎样让一个窗口弹出的时候有一点抖动的效果不那么僵硬,那正好,今儿在下总结的内容可能刚好能帮你实现你想要的效果(⊙o⊙)哦. 首先说一下什么是动画效果,动画效果有哪些好处吧: 这里所说的动画绝对不是你在电视上看到的,有剧情的那种(当然这句可能是废话),而是为了增加用户的体验感,通过对控件的属性或者layer进行一些处理达到美化界面的效果,主要是让界面看起来更加的生动,不会太枯燥.想象一下,你在用读书软件时候的翻页效果,就能被称

UIView自动调整控件(一个很方便使用的工具类吧)

镔哥自己仿照其他类重写的工具类,我们在工程中,或多或少的要修改控件的坐标-宽度-高度,于是,经常性的见到大家self.view.frame.origin.x,  self.view.frame.size.width.........相当的麻烦, 在这里向大家写一下的工具类,是UIView的类目,它里面对于求坐标,求高度什么的做了封装,很方便大家调用. #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interfa

【UIView与控件】

UIView 控件

苹果将控件的共同属性都抽取到了的父类UIView中 - 所有的控件属性最终都继承自UIView •每个控件都是个容器,能容纳其他控件 •内部小控件是大控件的子控件 •大控件是内部小控件的父控件 •每一个控制器(UIViewController)内部都有个默认的UIView属性 [email protected](nonatomic,retain) UIView *view; -控制器中管理的其他所有控件都是这个view的子控件(直接或者间接) 父子控件: •@property(nonatomic

IOS开发基础常用控件简介

在IOS开发中,各类控件完美的解决了开发过程中界面与交互展现的问题,使得IOS产品界面更加灵活实用,IOS常用控件的介绍如下. 1.窗口 UIWindow iPhone的规则是一个窗口,多个视图,窗口是你在app显示出来你看到的最底层,他是固定不变的,基本上可以不怎么理会,但要知道每层是怎样的架构. 2.视图 UIView, 是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它当成是一个画布,你可以通过UIView增加控件,并利用控件和用户进行交互和传递数据. 窗口和视图是最基本

[iOS基础控件 - 1] UI概念

A. UIView 1.概念 属于UIKit框架 屏幕上能看得见摸得着的东西就是UIView,比如屏幕上的按钮.文字.图片 翻译为:视图/控件/组件 UIButton.UILable.UITextField都继承自UIView 每一个UIView都是一个容器,能容纳其他UIView 2.父控件和子控件 父控件:容纳其他UIView的UIView 子控件:被放置在另外的UIView中得UIView B.UIViewController 1.概念 用来控制UIView的东西 当显示一个新界面时,首先

父子控件(控件可以内嵌其他控件,形参父子关系)

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UISwitch *customSw; @property (weak, nonatomic) IBOutlet UIView *redView; @property (weak, nonatomic) IBOutlet UIView *greenView; @property (weak, nonat

ios16--自定义控件1

k控制器: // // XMGViewController.h #import <UIKit/UIKit.h> @interface XMGViewController : UIViewController @end // // XMGViewController.m #import "XMGViewController.h" #import "XMGShop.h" #import "XMGShopView.h" @interface