码迷,mamicode.com
首页 > 移动开发 > 详细

iOS学习之基础控件

时间:2016-04-16 10:44:02      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

一、UILabel
     1、UILabel(标签):是显示文本的空间。在App中UILabel是出现频率最高的控件。
     2、UILabel是UIView的子类,作为子类一般是为了扩充父类的功能UILabel扩展了文字显示的功能,UILabel是能显示文字的视图。
     3、创建UILabel
 1     // 创建UILabel对象
 2     UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 100, 30)];
 3    
 4     // 设置文字
 5     userNameLabel.text = @"用户名";
 6    
 7     // 将UILabel添加到父视图
 8     [self.window addSubview:userNameLabel];
 9    
10     // 释放所有权(MRC模式下)
11     //    [userNameLabel release];
12     // 创建UILabel对象(适配屏幕)
13 
14     UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 200, 80, 40)];
15     UILabel *l1 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(userNameLabel.frame) + 20,      CGRectGetMinY(userNameLabel.frame), CGRectGetWidth(self.window.frame) - CGRectGetWidth(userNameLabel.frame) - 60, CGRectGetHeight(userNameLabel.frame))];
16     UILabel *l2 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMinX(userNameLabel.frame), CGRectGetMaxY(userNameLabel.frame) + 10, CGRectGetWidth(userNameLabel.frame), CGRectGetHeight(userNameLabel.frame))];
17     UILabel *l3 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(userNameLabel.frame) + 20, CGRectGetMaxY(userNameLabel.frame) + 10, CGRectGetWidth(self.window.frame) - CGRectGetWidth(userNameLabel.frame) - 60, CGRectGetHeight(userNameLabel.frame))];

     4、UILabel属性设置(常用)
       
   // 设置背景颜色
    userNameLabel.backgroundColor = [UIColor cyanColor];     
      // 设置文本对齐方式
    userNameLabel.textAlignment = NSTextAlignmentRight;
      // 设置文字颜色
    userNameLabel.textColor = [UIColor purpleColor];
      // 设置字体
    userNameLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:20];
      // 打印所有字体样式
    NSLog(@"%@", [UIFont familyNames]);
     // 显示行数
    userNameLabel.numberOfLines = 3;
      //断行模式(以单词断行)
    userNameLabel.lineBreakMode = NSLineBreakByWordWrapping;
     // 阴影颜色
    userNameLabel.shadowColor = [UIColor blackColor];
     // 阴影大小
    userNameLabel.shadowOffset = CGSizeMake(2, 1);
二、UITextField
     1、UITextField(输入框):是控制文本输入和显示的空间。在App中UITextField出现频率也比较高。iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便你进一步操作。在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘。
     2、UITextField和UILabel相比,UILabel主要用于文字显示,不能编辑,UITextField允许用户编辑文字(输入)。
     3、创建UITextField对象
  // 创建UITextField对象
    UITextField *userNameTextField = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 190, 30)];
   
    // 设置边框风格
    userNameTextField.borderStyle = UITextBorderStyle RoundedRect;
   
    // 设置占位符
    userNameTextField.placeholder = @"手机号/邮箱";
    // 将UITextField添加到父视图
    [self.window addSubview:userNameTextField];
   
    // 释放所有权(MRC)
    [userNameTextField release];
     4、UITextField文本显示属性
        技术分享
   
    // 设置文本内容
    userNameTextField.text = @"用户名:";
    userNameTextField.textColor = [UIColor blackColor];
    // 文本对齐方式
    userNameTextField.textAlignment = NSTextAlignmentLeft;
     5、UITextField输入控制属性
          技术分享
        
    // 是否允许编辑
    userNameTextField.enabled = YES;
    // 开始编辑时是否清空输入框
    userNameTextField.clearsOnBeginEditing = YES;
    //是否安全输入
    userNameTextField.secureTextEntry = YES;
    // 弹出键盘的类型
    userNameTextField.keyboardType = UIKeyboardTypeAlphabet;
    // 键盘右下角return按钮类型(枚举值)
    userNameTextField.returnKeyType = UIReturnKeyDefault;
     6、UITextField外观控制属性
          技术分享  
    // 清除按钮模式
    userNameTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
    // 输入框左视图
    UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    leftView.backgroundColor = [UIColor yellowColor];
    userNameTextField.leftView = leftView;
    userNameTextField.leftViewMode = UITextFieldViewModeAlways;
    // 输入框右视图
    UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    rightView.backgroundColor = [UIColor redColor];
    userNameTextField.rightView = rightView;
    userNameTextField.rightViewMode = UITextFieldViewModeAlways;
   
     7、UITextField添加回收键盘方法
    // 1.设置代理
    userNameTextField.delegate = self;
    // 2.遵守协议
    @interface AppDelegate : UIResponder <UIApplicationDelegate,UITextFieldDelegate>
    // 3.实现协议方法

            - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
        NSLog(@"键盘上回车按键");
        [textField resignFirstResponder];
       
        return YES;
    }
    // 成为第一响应者,运行就进入编辑状态 
    [userNameTextField becomeFirstResponder];
     7、UITextField常用代理方法
         
       // 1.当textField将要开始编辑的时候告诉委托人

    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
    {
        return YES;
    }
         // 2.当textField已经编辑的时候告诉委托人
    - (void)textFieldDidBeginEditing:(UITextField *)textField
    {
    }
         // 3.当textField将要完成编辑的时候告诉委托人
    - (BOOL)textFieldShouldEndEditing:(UITextField *)textField
    {
        return YES;
    }
         // 4.当textField已经完成编辑的时候告诉委托人
    - (void)textFieldDidEndEditing:(UITextField *)textField
    {
       
    }
         // 5.当点击键盘上回车按键时候告诉委托人
    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
        return YES;
    }
三、UIButton
     1、UIButton(按钮):是响应用户点击的空间。在App中UIButton是出现频率很高的控件。
     2、UIButton与UILabel、UITextField侧重点不同,侧重于处理用户交互事件。当然UIButton类也提供了一些方法控制按钮外观。
     3、创建UIButton,设置常用属性

 

    // 1.创建对象并初始化 (使用类方法)
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
   
    // 2.设置属性
    button.frame = CGRectMake(50, 100, 300, 50);
    button.backgroundColor = [UIColor orangeColor];
   
    // 设置标题 普通状态下
    [button setTitle:@"点  我" forState:UIControlStateNormal];
   
    // 设置标题 高亮状态下(点住)
    [button setTitle:@"谁点我" forState:UIControlStateHighlighted];
   
    // 设置标题颜色
    button.tintColor = [UIColor whiteColor];
   
    // 设置button的背景图片
   
    // 创建UIImage对象
    UIImage *afuImage = [UIImage imageNamed:@"afu.jpg"];
    // 普通状态下
    [button setBackgroundImage:afuImage forState:UIControlStateNormal];
    // 高亮状态下
    [button setBackgroundImage:[UIImage imageNamed:@"zhatian.jpg"] forState:UIControlStateHighlighted];
   
    // 设置前景图片(必须是镂空图)
    [button setImage:[UIImage imageNamed:@"222.png"] forState:UIControlStateNormal];
   
    // 3.添加事件
    // 单击状态下
    [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
  
    // 4.添加到父视图
    [self.window addSubview:button];

 

     3、实现点击事件
    // 实现按钮点击事件

- (void)buttonClick:(UIButton *)sender {
    NSLog(@"点我");
    sender.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:1];

    // 移除事件
    [sender removeTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];

}
四、UIImageView
     1、UIImageView是iOS中用于显示图片的类,它相当于一个相框,专门用作显示图片,可以存放一个图片或一组图片。
  2、创建UIImageView对象(添加一组动态图片示例代码)
  技术分享

iOS学习之基础控件

标签:

原文地址:http://www.cnblogs.com/soley/p/5397759.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!