一、UILabel
     1、UILabel(标签):是显示文本的空间。在App中UILabel是出现频率最高的控件。
     2、UILabel是UIView的子类,作为子类一般是为了扩充父类的功能UILabel扩展了文字显示的功能,UILabel是能显示文字的视图。
     3、创建UILabel
     // 创建UILabel对象
     UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];

     // 设置文字
     userNameLabel.text = @"用户名";

     // 将UILabel添加到父视图
     [self.window addSubview:userNameLabel];

     // 释放所有权(MRC模式下)
     //    [userNameLabel release];
     // 创建UILabel对象(适配屏幕)

     UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
     UILabel *l1 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(userNameLabel.frame) + ,      CGRectGetMinY(userNameLabel.frame), CGRectGetWidth(self.window.frame) - CGRectGetWidth(userNameLabel.frame) - , CGRectGetHeight(userNameLabel.frame))];
     UILabel *l2 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMinX(userNameLabel.frame), CGRectGetMaxY(userNameLabel.frame) + , CGRectGetWidth(userNameLabel.frame), CGRectGetHeight(userNameLabel.frame))];
     UILabel *l3 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(userNameLabel.frame) + , CGRectGetMaxY(userNameLabel.frame) + , CGRectGetWidth(self.window.frame) - CGRectGetWidth(userNameLabel.frame) - , CGRectGetHeight(userNameLabel.frame))];

     4、UILabel属性设置(常用)

   // 设置背景颜色
    userNameLabel.backgroundColor = [UIColor cyanColor];
      // 设置文本对齐方式
    userNameLabel.textAlignment = NSTextAlignmentRight;
      // 设置文字颜色
    userNameLabel.textColor = [UIColor purpleColor];
      // 设置字体
    userNameLabel.font = [UIFont fontWithName:];
      // 打印所有字体样式
    NSLog(@"%@", [UIFont familyNames]);
     // 显示行数
    userNameLabel.numberOfLines = ;
      //断行模式(以单词断行)
    userNameLabel.lineBreakMode = NSLineBreakByWordWrapping;
     // 阴影颜色
    userNameLabel.shadowColor = [UIColor blackColor];
     // 阴影大小
    userNameLabel.shadowOffset = CGSizeMake(, );
二、UITextField
     1、UITextField(输入框):是控制文本输入和显示的空间。在App中UITextField出现频率也比较高。iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便你进一步操作。在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘。
     2、UITextField和UILabel相比,UILabel主要用于文字显示,不能编辑,UITextField允许用户编辑文字(输入)。
     3、创建UITextField对象

  // 创建UITextField对象
    UITextField *userNameTextField = [[UITextField alloc] initWithFrame:CGRectMake(, , , )];

    // 设置边框风格
    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(, , , )];
    leftView.backgroundColor = [UIColor yellowColor];
    userNameTextField.leftView = leftView;
    userNameTextField.leftViewMode = UITextFieldViewModeAlways;
    // 输入框右视图
    UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
    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(, , , );
    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() %  /  /  / ];

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

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

iOS学习之基础控件的更多相关文章

  1. iOS学习笔记——基础控件(上)

    本篇简单罗列一下一些常用的UI控件以及它们特有的属性,事件等等.由于是笔记,相比起来不会太详细 UIView 所有UI控件都继承于这个UIView,它所拥有的属性必是所有控件都拥有,这些属性都是控件最 ...

  2. iOS学习之UIPickerView控件的关联选择

    接上篇iOS学习之UIPickerView控件的简单使用 接着上篇的代码 http://download.csdn.net/detail/totogo2010/4391870 ,我们要实现的效果如下: ...

  3. IOS 学习笔记(6) 控件 文本域(UITextField)的使用方法

    UITextField控件的诸多特性都和UITextView相似,比如成为输入文本焦点时键盘自动显示,支持长按弹出动作选项,能够接收输入事件(开始输入,修改内容,结束输入和点击回车等). 1.特有的特 ...

  4. iOS学习之UIDatePicker控件使用

    iOS上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式. ,   您可以选择自己需要的模式,Time, Date,Date and Time  , Count Down Ti ...

  5. ios 学习笔记之控件属性

    1.文本框 设置密码属性:Secure Text Entry 勾选; 设置文本框带清除属性: Clear Button =Is always visible;  默认是不带清除属性:Never app ...

  6. IOS 学习笔记(7) 控件 分隔栏控件(UISegmentControl)的使用方法

    分隔栏控件的系统默认式样一共有3种,分别是“普通式样”,"边框式样","条状式样" 分隔栏控件中有一个momentary属性,默认时NO.当开发者配置成YES时 ...

  7. IOS 学习笔记(5) 控件 文本视图(UITextView)的使用方法

    相对于UILabell所支持的较短文本内容,UITextView对于长文本的支持更好.UITextView能够以滚动的方式全部浏览到长文本,并且就像UILabel那样,从ISO6,他也提供了对NSAt ...

  8. IOS 学习笔记(4) 控件 标签(UILabel)的使用方法

    虽说Label的中文翻译是标签标记,但它其实是一个静态文本内容的展现控件. 一般来说,UILabel只是一个只读的文本视图,开发者可以利用UiLabel来展示内容长度有固定上限的文字内容.并且,UIL ...

  9. iOS学习之UIPickerView控件的简单使用

    UIPickerView控件在给用户选择某些特定的数据时经常使用到,这里演示一个简单的选择数据,显示在UITextField输入框里,把UIPickerView作为输入View,用Toolbar作为选 ...

随机推荐

  1. Android IOS WebRTC 音视频开发总结(五十)-- 技术服务如何定价?

    这篇文章最早是杜老师写的,看完感触很深,加上之前跟咨询公司的朋友也讨论过这方面的问题,所以结合自己的经验,做了些删改(得到了杜老师的授权). 先通过下面几个简单的问题来了解技术服务: 问题1:技术服务 ...

  2. Chrome不能登录和同步的解决方法

    打开 C:\Windows\System32\drivers\etc 下的 hosts文件 #SmartHosts START #Google Services START .docs.google. ...

  3. SpringMVC与HTML页面

    springMVC返回html页面 spring-mvc.xml配置: <bean id="viewResolver"  class="org.springfram ...

  4. HTML自动换行的问题

    有时文本文字已经超过所在的区域,但是文字还是不自动换行 可以用强制换行 强制不换行div{ white-space:nowrap;}自动换行div{ word-wrap:break-word; wor ...

  5. 泛型集合转换为DataTable

    在做项目中,遇到了将集合转换为DataTable的使用,在网上看了资料,在这里记录下来,分享. using System; using System.Collections.Generic; usin ...

  6. js 实现栈

    function Stack() { this.dataStore = []; this.top = 0; this.push=push; this.pop=pop; this.peek=peek; ...

  7. LotusPhp中配置文件组件LtConfig详解

    LotusPhp中配置文件组件LtConfig是约定的一个重要组成部分,适用于多个场景,多数的LotusPhp组件如数据库,缓存,RBAC,表单验证等都需要用到配置组件,LtConfig配置组件也是L ...

  8. (转)Android SlidingTabLayout定制分割线和指示条颜色

    本文转载与:http://blog.csdn.net/zhangphil/article/details/48863347 Android SlidingTabLayout默认的滑动指示条是系统默认的 ...

  9. 关于VS2012下安装破解文件Visual Assit X的一点说明

    今天在使用Visual Studio 2012的时候,编写代码的助手Visual Assit X突然提示我说,试用期已过,要求我输入一个注册码,我靠,这货不是几个月前已经破解了吗,怎么今天傻不愣登的提 ...

  10. ContentProvider与ContentResolver使用【转】

    这篇文章被转载而转载者未注明原文出处,在此未加上原文地址链接,本人向原作者致以歉意. 下面是文章内容: 使用ContentProvider共享数据: 当应用继承ContentProvider类,并重写 ...