// 获取屏幕大小的view
UIView *contentView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; // bound是个矩形 bounds类型是CGRect
 

#pragma mark - UILable知识点

// UILable(标签),继承自UIView,主要用来显示文本,是在UIView基础上扩充出来的功能
    /*
     1.创建控件
     2.配置控件的属性
     3.添加到父视图
     4.释放控件
    

     */
// 1.创建UILable控件
    UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(10, 80, 300, 80)];// 使用父类的方法创建
   
    // 2.配置UILable的属性
    // 2.1 背景颜色
    lable.backgroundColor = [UIColor greenColor];
   
    // 2.2 设置显示的文本
    lable.text = @"AV达人 zhaoYaZhou and liuNing and liGuoQing and wangZhongJian";
   
    // 2.3 设置文本颜色
    lable.textColor = [UIColor whiteColor];
   
    // 2.4 设置文本字体
    // 设置的是系统默认字体大小
    lable.font = [UIFont systemFontOfSize:10];
    // 字体采用加粗的字体样式
    lable.font = [UIFont boldSystemFontOfSize:40];
    // 遍历系统中所有的字体名字
    for (NSString *name in [UIFont familyNames]) { //familyNames 是个数组
       
        NSLog(@"%@", name);
       
    }
    // 设置字体
    lable.font = [UIFont fontWithName:@"Didot" size:18];
   
    // 2.5 设置文本行数
    // numberOfLines 设置为0,表示不限制行数,自动填充到lable中
    // numberOfLines 默认值是1
    lable.numberOfLines = 0;
   
    // 2.6 设置换行格式
    // 根据单词换行
    //NSLineBreakByWordWrapping (默认)
    // 根据字符换行
    lable.lineBreakMode = NSLineBreakByCharWrapping;
   
    // 2.7 设置字体的阴影颜色
    lable.shadowColor = [UIColor redColor];
    // 2.8 设置阴影偏移量
    lable.shadowOffset = CGSizeMake(-2, -2);
   
    // 2.9 设置文本对齐方式
    // NSTextAlignmentLeft 左对齐
    // NSTextAlignmentRight 右对齐
    // NSTextAlignmentCenter 居中
    lable.textAlignment = NSTextAlignmentCenter;
   
    // 2.10 给lable切圆角,下面两个属性要同时设定
    lable.layer.cornerRadius = 20;
    lable.layer.masksToBounds = YES;
    // 3.添加到父视图
    [contentView addSubview:lable];
   
    // 4.释放控件
    [lable release];
 

#pragma mark - UITextField知识点

//    UITextField 继承自UIControl,是在UILable的基础上扩充了文本输入的功能,可以允许用户输入文本,编辑文字
//  UIControl 继承自UIView
    // shift + command + k : 回收键盘
    // 1. 创建UITextField对象
    UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(10, 200, 300, 40)]; // 也是使用父类的方法创建
   
    // 2. 配置UITextField的属性
    // 2.1 设置背景颜色
    textField.backgroundColor = [UIColor whiteColor];
    // 2.2 设置textField的提示字符
    textField.placeholder = @"请输入名字";
    // 2.3 设置输入框中的文本
    textField.text = @"AV达人";
    // 2.4 设置文本输入框字体的颜色 (只影响输入字体的颜色,不影响提示字符)
    textField.textColor = [UIColor orangeColor];
    // 2.5 设置文本输入的对齐方式
    textField.textAlignment = NSTextAlignmentLeft;
    // 2.6 设置textField输入框是否可以编辑.默认是可编辑的
    //textField.enabled = NO;
    // 关闭用户交互
    //textField.userInteractionEnabled = NO;
    // 2.7 当文本输入框开始编辑的时候是否清空输入框中的内容,默认值是NO,只在第一次起作用
    textField.clearsOnBeginEditing = YES;
    // 2.8 设置键盘弹出的样式.
    textField.keyboardType = UIKeyboardTypeDefault;
    // 2.9 设置return键的样式
    textField.returnKeyType = UIReturnKeyGo;
    // 2.10 设置输入边框的样式
    /*
    
     UITextBorderStyleNone, // 无边框样式
     UITextBorderStyleLine, // 实线边框
     UITextBorderStyleBezel, // 倾斜面边框
     UITextBorderStyleRoundedRect // 圆角边框
    
    */
    textField.borderStyle = UITextBorderStyleRoundedRect;
    textField.layer.cornerRadius = 20;// 这种也行
   
    // 2.11 设置键盘的弹出视图, 可以在弹出视图上自定义键盘
    /*
    UIView *inputView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
    inputView.backgroundColor = [UIColor cyanColor];
    textField.inputView = inputView;
    [inputView release];
    */
    // 2.12 设置键盘的辅助视图
    UIView *accseeView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
    accseeView.backgroundColor = [UIColor redColor];
    textField.inputAccessoryView = accseeView;
    [accseeView release];
   
    // 2.13 设置文本输入框的清空按钮
    /*
     UITextFieldViewModeNever,
     UITextFieldViewModeWhileEditing, // 开始编辑时出现清空按钮
     UITextFieldViewModeUnlessEditing, // 当不编辑时弹出清空按钮,编辑时按钮消失
     UITextFieldViewModeAlways // 一直显示,除非输入框中没有内容
     */
    textField.clearButtonMode = UITextFieldViewModeUnlessEditing;
   
    // 2.14 设置文本输入框是否以密文形式显示输入内容
    textField.secureTextEntry = YES;
   
    // 2.15 设置代理属性
    /*
    如何使用系统写好的协议设置代理
     1. 设置代理
     2. 让代理对象遵循协议
     3. 实现协议中的方法
     4. 告诉代理什么时候去干活
     */
   
    textField.tag = 250;
   
    textField.delegate = self;
////////////////////
#pragma mark - 实现UITextField协议中的方法
// called when 'return' key pressed. return NO to ignore.
// 当点击return按钮的时候触发此方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField { // textField会自动传过来,不用管
    // 取消第一响应者 取消的效果就是回收键盘
    [textField resignFirstResponder];
    return YES;
}
/////////////////
 
    // 3.添加到父视图
    [contentView addSubview:textField];
   
    // 4.释放
    [textField release];

// 2.15 设置代理属性
    /*
    如何使用系统写好的协议设置代理
     1. 设置代理
     2. 让代理对象遵循协议
     3. 实现协议中的方法
     4. 告诉代理什么时候去干活 (点击return的时候)
     */
 
 
或者也可以在AppDelegate类的延展上遵循协议,如下:
 
textField.delegate = self; // 设置代理,代理是AppDelegate
 
#pragma mark - 实现UITextField协议中的方法
// called when 'return' key pressed. return NO to ignore.
// 当点击return按钮的时候触发此方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField { // textField会自动传过来,不用管
    // 取消第一响应者 取消的效果就是回收键盘
    [textField resignFirstResponder];
    return YES;
}
 
另一种方法:
 contentView.tag = 200; // 设置contentView的tag值
 textField.tag = 250;
#pragma mark - 点击空白处实现回收键盘
// 点击屏幕时,手指离开的瞬间触发
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    // 先拿到contentView
    UIView *contentView = [self.window viewWithTag:200];
   
    // 通过tag值取出textField
    UITextField *textField = (UITextField *)[contentView viewWithTag:250];
    // 取消第一响应者
    [textField resignFirstResponder];
   
}
 
/*
// 有时需要注意类型转换
// 点击空白处收回键盘
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
   
    for (int i = 200; i < 206; i++) {
       
        LTView *t = (LTView *)[self viewWithTag:i]; 
        [t.textField resignFirstResponder];
       
    }
}
*/
 

#pragma mark - UIButton知识点

//    UIButton 继承自UIControl,是iOS中用来响应用户点击事件的按钮
    // UIButton 有自己的创建方法
    // 1. 创建UIButton对象
    /*button的样式
     UIButtonTypeCustom ,      //!!!! 自定义样式, 如果要给button添加图片,必须使用此种样式

     UIButtonTypeSystem ,    // standard system button 系统样式
    
     UIButtonTypeDetailDisclosure,   // 详情按钮
     UIButtonTypeInfoLight,          // 详情按钮
     UIButtonTypeInfoDark,           // 详情按钮
     UIButtonTypeContactAdd,         // 加号按钮
     */
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; // 不用释放button
   
    // 2.配置button的属性
    // 2.1 背景颜色
    button.backgroundColor = [UIColor cyanColor];
    // 2.2 单独设置button的frame(位置和大小)
    button.frame= CGRectMake(30, 260, 260, 50);
    // 2.3 给button切圆角
    button.layer.cornerRadius = 7;
   
    //! 2.4 给button添加标题, 注意添加标题的时候一定要指明,button的状态
    /*状态
     UIControlStateNormal       = 0,
     UIControlStateHighlighted  = 1 << 0,                  // used when UIControl isHighlighted is set
     UIControlStateDisabled     = 1 << 1,
     UIControlStateSelected     = 1 << 2,                  // flag usable by app (see below)
     UIControlStateApplication  = 0x00FF0000,              // additional flags available for application use
     UIControlStateReserved     = 0xFF000000
    
     */
    //[button setTitle:@"正常状态" forState:UIControlStateNormal];
    //[button setTitle:@"高亮状态" forState:UIControlStateHighlighted]; // 按住不丢
    //[button setTitle:@"不可用状态" forState:UIControlStateDisabled];
    //[button setTitle:@"可选中状态" forState:UIControlStateSelected]; // 触发不了
   
    [button setTitle:@"登录" forState:UIControlStateNormal];
   
   
    // 2.5 设置button的状态是否可用
    //button.enabled = NO;
   
    // 2.6 设置button上title的文字大小
    //! button是个复合视图,集成了几种控件, 其中titleLable是用来放置标题的,还有一个imageView用来显示图片
    button.titleLabel.font = [UIFont systemFontOfSize:20];
    // 2.7 设置button内容的颜色
//    [button.titleLabel.textColor] = [UIColor redColor]; // 这种改不了文本颜色
    button.tintColor = [UIColor grayColor]; // tintColor
   
    /*
    // 2.8 给button添加图片
    //! 要添加图片,要换成 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 自定义格式才能添加图片
//    UIImage 继承自NSObject,不是一个视图,如果要展示UIImage需要使用UIImageView来展示
    // .png格式的图片不需要加后缀,其他格式都需要加后缀
    UIImage *image1 = [UIImage imageNamed:@"立即.jpg"]; // png格式的图片不需要加后缀了
    UIImage *image2 = [UIImage imageNamed:@"立即登录.jpg"];
    // 高亮状态
    [button setImage:image1 forState:UIControlStateHighlighted]; // 会和文本抢地盘 ,二选一,要么添加图片,要么添加文本
    // 正常状态
    [button setImage:image2 forState:UIControlStateNormal];
    */
   
    //! button关联事件
    // 1. target : button指定的响应对象
    // 2. action : 指定的响应对象调用的方法
    // 3. events : 事件的触发时机
    [button addTarget:self action:@selector(handleAction:) forControlEvents:UIControlEventTouchUpInside];
   
   
    // 3. 添加到父视图上
    [contentView addSubview:button];
#pragma mark - 实现button的点击事件方法  button关联事件
- (void)handleAction:(UIButton *)button { // 自动传进来参数
   
    NSLog(@"鼓掌");
   
    //! 取出某个状态下的button标题 VIP
   
     NSString *title = [button titleForState:UIControlStateNormal];
     // 添加关联事件
    
     if ([title isEqualToString:@"登录"]) {
    
     [button setTitle:@"下线" forState:UIControlStateNormal];
    
     }else if ([title isEqualToString:@"下线"]) {
        
         [button setTitle:@"登录" forState:UIControlStateNormal];
     }
   
   
}

 Practice:
 
 

UILable  /  UITextField  /   UIButton的更多相关文章

  1. iOS 注册或登录页面(UILable,UITextField,UIButton)

    注册或登录页面 例如下面的附图 1,为了在这里展示UITextField文本框关联的键盘设置.在这里,"password"和"判定password"关联键盘被设 ...

  2. iOS学习21之UILabel, UITextField, UIButton, UIImageView

    1.UILabel 1> 概述 UILabel (标签): 是显示文本的控件.在App中 UILabel 是出现频率最高的控件 UILabel 是 UIView 子类,作为子类一般是为了扩充父类 ...

  3. UILabel,UITextField,UIButton三大基础控件总结

    (一)UILabel空件 属性: 1.背景颜色 label.backgroundColor = [UIColor ***]; 2. 显示文字: label.text = @"******&q ...

  4. IOS的UITextField,UIButton,UIWebView它描述的一些属性和IOS提示图像资源

    有时UI要开发的资源与实际frame不符.这一次,我们要绘制图片 UIImage* image = [[UIImage imageNamed:@"text_field_bg.png" ...

  5. iOS 开发笔记-UILable/UIFont/UIButton常见设置

    UILabel的常见设置 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonatomic,retain) UIFont *fon ...

  6. iOS 让UIButton根据文字内容自动计算宽高

    Xcode自带的UIButton控件是没有办法根据文字内容计算自身的宽和高的,下面演示一下问题, 我用代码方式创建一个UIButton,并且设置了一些属性,下面看一下效果图 一切都是这么的美好,跟我们 ...

  7. ReactiveCocoa 和 MVVM 入门 (转)

    翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示.为了和谐社会, 请科学上网. MVC 任何一个正经开发过一阵子软件的人都熟悉 ...

  8. 【长篇高能】ReactiveCocoa 和 MVVM 入门

    翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示.为了和谐社会, 请科学上网. MVC 任何一个正经开发过一阵子软件的人都熟悉 ...

  9. 【转】伟大的RAC和MVVM入门(一)

    原文:http://www.sprynthesis.com/2014/12/06/reactivecocoa-mvvm-introduction/   翻译自ReactiveCocoa and MVV ...

随机推荐

  1. DZ 3.2 URL 伪静态配置 教程

    原文转自:http://www.zccode.com/thread-682-1-1.html 教程说明: 1 首先需要下载URL重写工具,拷到服务器下面安装即可,这里配置IIS7(x64)伪静态. 工 ...

  2. php中JPGraph入门配置与应用

    什么是PHP JPGraph? 专门提供图表的类库.它使得作图变成了一件非常简单的事情.生成非美工人士生成的图表.二维码算法. 到官方网站下载. docportal 帮助手册 src 包含主要代码. ...

  3. .net转php laraval框架学习系列(一) 环境搭建

    之前也没写过什么博客,可能文章结构比较混乱,想到那写到哪. 主要是把自己学习中的经验写下来. 为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.n ...

  4. Delphi的IDHTTP的基本用法

    一.IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快.更节约资源,缺点是需要手动维护cook,连接等 IDHttp的创建,需要引入ID ...

  5. 一个用httpPost,get访问外网接口,参数json,返回json的示例

    package com.royal.util; import java.io.BufferedReader;import java.io.DataInputStream;import java.io. ...

  6. 用“%20”取代字符串中空格的时间复杂度为O(n)的算法

    /*length 为字符串数组string的总容量*/ void ReplaceBlank(char stringp[],int length) { ) return; /*originalLengt ...

  7. 关于Action返回结果类型的事儿(下)

    原文:关于Action返回结果类型的事儿(下) using System;  using System.Collections.Generic;  using System.Linq;  using ...

  8. 在Windows Azure上配置VM主备切换(1)——Linux篇

    对任何一个上线系统来说,高可用设计是不可或缺的一个环节,这样才可以确保应用可以持续.稳定的运行,而不是频繁的掉线.停机.高可用设计的核心思路很简单,就是消除一切单点故障,将单点链路或者节点升级为多点. ...

  9. cocos 的CCScheduler模块

    scheduleSelector函数->查找m_pHashForTimers是否有存储回调的Obj类实例,否,创建新条目tHashTimerEntry,指向回调类实例,tHashTimerEnt ...

  10. 关于bootstrap--导航栏

    1.普通导航:class .nav-tabs. <ul class="nav nav-tabs"> <li class="active"> ...