当前位置:编程学习 > wap >>

iOS第五章控件和动作

目标

      回顾基本组件窗口和视图

    了解 IOS UIKit 框架中常用视图组件

    显示控件-标签 UILabel

    显示控件-文本框控件 UITextField

    控制控件-按钮 UIButton

    控制控件-开关 UISwitch

    控制控件-滑块 UISlider

    其他控件-分段控件、分页控件

   

1、回顾基本组件窗口和视图

UIWindow

一个应用程序只有一个窗口,为UIWindow的实例

初始边框为整个屏幕的大小

支持窗口层叠放置

UIView

一个窗口,多个视图

视图负责屏幕的一块显示区域

视图可以嵌套

一个视图可以有多个子视图

响应用户触摸事件

 

UIImageView

    专门保管图片的视图

 

2、了解 IOS UIKit 框架中常用组件

视图类组件

容器

为视图内容提供额外的视觉分隔

//////

窗口

提供绘制的场所UIWindow

 

显示视图

用于简单的信息显示

UILabel、UITextView

UIImageView

警告视图和动作表单

取得用户的注意

UIAlertView

UIActionSheet

导航视图

为用户提供从一个屏幕到另一个屏幕的导航工具

UITabBar

UINavigationBar

表格视图

      专门用于显示数据的视图

UITableView

选取器视图

    用滚轮的方式让选择数据的

UIPickerView

图像视图

    放置图片的视图容器,透明框

UIImageView

滚动视图

UIScrollView

文本视图

UITextView

 

 


 

 

3、显示控件-标签UILabel

UILabel

只读视图,显示一行或多行文本

(1)创建

CGRect labelFrame = CGRectMake(0, 10, 100, 50);

UILabel *myLabel = [[UILabel alloc]initWithFrame:labelFrame];

 

(2)设置颜色

myLabel.backgroundColor = [UIColor clearColor];

myLabel.textColor = [UIColor redColor];

 

(3)设置字体

myLabel.font = [UIFontfontWithName:@"Verdana" size:18.0];

 

(4)设置多行文本

myLabel.numberOfLines = 2;

myLabel.text = @"Hello World\nSecond line";

 

(5)添加到视图

[self.view addSubview: myLabel];

 

(6)释放

 [myLabelrelease];

 

 

4、显示控件-文本框控件 UITextField

   进行小段文本的输入,一般单行;

(1)创建

CGRect textRect = CGRectMake(10,10,300,31);

UITextField *myTextField = [[UITextField alloc]initWithFrame:textRect];

myTextField.backgroundColor = [UIColorwhiteColor];

(2)设置字体

myTextField.font = [UIFontsystemFontOfSize:22.0];

myTextField.adjustsFontSizeToFitWidth = YES;

myTextField.minimumFontSize = 2.0;

(3)添加协议、控制动作

@inte易做图ce MyUIControlViewController :UIViewController<UITextFieldDelegate>

绑定代理对象

- (void)viewDidLoad

{

    ……

    myTextField.delegate= self;

}

(4)取消键盘

- (BOOL)textFieldShouldReturn:(UITextField*)textField

{

    [textFieldresignFirstResponder];

    returnYES;

}

(5)输入长度判断

- (BOOL)textField:(UITextField *)textFieldshouldChangeCharactersInRange

                              :(NSRange)rangereplacementString:(NSString *)string

{   intMAX_CHARS = 10;

    NSMutableString*newText = [NSMutableString stringWithString: textField.text];

    [newTextreplaceCharactersInRange: range withString:string];

    return([newText length] <= MAX_CHARS);

}

 

 

 

 

5、控制控件-按钮 UIButton

创建按钮

 

------------------------------------------------------------------------------------------------------------------------------

使用 IB 完成:

(1)创建一个 View ,生成三个文件xxxViewController.xib、xxxViewController.h、xxxViewController.m、

(2)如果使用 图形化工具,打开 xxxViewController.xib ,从“对象库”中拖拽控件到 View 视图中,并通过“属性检查器” 设置按钮属性。

   如果需要对按钮进行事件处理,需要在xxx.ViewController.h 文件中创建一个处理按钮事件的 IBAction 方法,并在 IB中,拖线 连接  按钮和IBAction.

-   (IBAction)buttonPress:(UIButton *)sender;  

 

对按钮事件的处理一般在 xxxViewController.m 文件中,对应的 IBAction 方法中编写。

- (IBAction)buttonPress:(UIButton *)sender {

    //创建一个弹出提示框,

   UIAlertView*alert = [[UIAlertViewalloc]

             initWithTitle:@"提示标题"

             message:@"通过xib实现的按钮处理方法"

              delegate:self

             cancelButtonTitle:@"OK"

             otherButtonTitles: nil];

   //显示弹出提示框

   [alert show];

}

------------------------------------------------------------------------------------------------------------------------------

(3)如果使用纯代码编写,打开 xxxViewController.h,创建按钮对象作为 @propertity 属性

@property (nonatomic, retain, readonly) UIButton *roundedButtonType;

 

然后,在  xxxViewController.m 文件中编写代码:

在 - (void)viewDidLoad 方法中编写创建 按钮的代码  如下所示

 

//通过代码创建一个 Button

roundedButtonType= [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

 

//设置按钮的位置和尺寸,前两个参数设置 顶点坐标,后两个参数设置 宽、高

roundedButtonType.frame = CGRectMake(50.0, 250.0, 88.0  , 48.0);

 

//设置按钮的标题和状态

[roundedButtonType setTitle:@"Rounded" forState:UIControlStateNormal];

           

//设置按钮的背景颜色

roundedButtonType.backgroundColor = [UIColor clearColor];

 

//设置用户对 按钮进行何种操作,处理按钮事件的操作(回调函数)

[roundedButtonType addTarget:self

                     action:@selector(action:)

            forControlEvents:UIControlEventTouchUpInside];

 

//设置按钮的编号,便于区分多个按钮

roundedButtonType.tag = 2;

 

 

需要单独为按钮事件处理编写方法,一般都叫 xxxAction:

- (void)action:(id)sender

{

    //创建一个弹出提示框,

   UIAlertView *alert = [[UIAlertView alloc]

             initWithTitle:@"提示标题"

             message:@"通过纯编码实现的按钮处理方法"

              delegate:self

             cancelButtonTitle:@"OK"

     &nb

补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,