您的位置:首页 > 产品设计 > UI/UE

UI_文本框属性

2016-01-16 15:45 447 查看
#import "AppDelegate.h"

@interface
AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    //初始化一个UIImageView
    UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)];
    //将imageView放置到屏幕中央
    image.center = self.window.center;

    //将所有的图片放入数组中
    NSMutableArray *imagesArray = [NSMutableArray array];

    
    for (int i =1; i<7; i++) {
        UIImage *itemimage =[UIImage imageNamed:[NSString stringWithFormat:@"%d.tiff",i]];

    //将图片添加进数组
        [imagesArray addObject:itemimage];
    }
    //将一组图片赋给ImageView做成动画
    image.animationImages = imagesArray;

    //设置动画时长(默认单位:秒)
    image.animationDuration = 5;
      //设置重复次数
    image.animationRepeatCount = 3;

    

    //为 image
添加一个tag值,这样我们就可以在按钮的回调方法中得到该对象
    image.tag = 1000;

    //动画未开启时,设置占位图片
    image.image = [UIImage imageNamed:@"1.tiff"];

    

    

    
    //开始动画
    [image startAnimating];
    //显示动态图
    [self.window addSubview:image];

  

    

    //初始化一个按钮
    UIButton *myBtn = [UIButton buttonWithType:UIButtonTypeSystem];
    [myBtn setTitle:@"开始动画" forState:UIControlStateNormal];
    //设置frame
    [myBtn setFrame:CGRectMake(50, 50, 100, 50)];
    //添加点击事件
    [myBtn addTarget:self action:@selector(animationAction:) forControlEvents:UIControlEventTouchUpInside];
    //显示按钮
    [self.window addSubview:myBtn];

    

    

    

    

    
    //文本输入框的学习    UITextField
    UITextField *myTextfield = [[UITextField alloc]initWithFrame:CGRectMake(100, 100, 150, 50)];

    
    //设置占位字符

    
    myTextfield.placeholder = @"请输入手机号";

    //设置键盘样式(枚举值)
    myTextfield.keyboardType =UIKeyboardTypeDecimalPad;//纯数字的键盘
//    //设置边框样式(枚举值)
    myTextfield.borderStyle = UITextBorderStyleRoundedRect;

    

    //给文本框下加虚线(其实就是视觉上的虚线)
    UILabel *linelable = [[UILabel alloc]initWithFrame:CGRectMake(100, 150, 150, 2)];
//    [linelable setBackgroundColor:[UIColor whiteColor]];
    [linelable setText:@"_ _ _ _ _ _ _ _"];
    [self.window addSubview:linelable];

    

    

    

    
    //设置密码样式(...)
    myTextfield.secureTextEntry = YES;
    [self.window addSubview:myTextfield];

    

    //设置右侧小叉号(枚举值)
    myTextfield.clearButtonMode = UITextFieldViewModeAlways;

    

   //设置首字母大写
   // myTextfield.autocapitalizationType;

    
    //左视图
    UIImageView *leftImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"zh.png"]];
    myTextfield.leftView =leftImage;

    //设置为总是显示(枚举值)
    myTextfield.leftViewMode = UITextFieldViewModeAlways;

    

    
    //右视图
    UIImageView *rightImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"zh.png"]];
    myTextfield.rightView =rightImage;
    myTextfield.rightViewMode =UITextFieldViewModeUnlessEditing;

    

    
    //自定义键盘  CGRectGet函数可以得到一个矩形的x,y,witdh,height
    UIView *keyBoardView =[[UIView alloc]initWithFrame
e26e
:CGRectMake(0, 0, CGRectGetWidth(self.window.frame), 256)];
    //添加一个按钮
    UIButton *firstButton = [UIButton buttonWithType:UIButtonTypeSystem];
    [firstButton setTitle:@"1" forState:UIControlStateNormal];
    [firstButton setBackgroundColor:[UIColor whiteColor]];
    firstButton.frame = CGRectMake(0, 0, 50, 50);
    [firstButton addTarget:self action:@selector(textfiledAction:) forControlEvents:UIControlEventTouchUpInside];

    //为了点击按钮的时候可以给输入框赋值,所以需要在按钮的回调方法中得到myTextField,所以需要tag值的帮助。
    myTextfield.tag = 2000;
    [keyBoardView addSubview:firstButton];

    

    
    myTextfield.inputView =keyBoardView;

    

    

    

    //输入框代理方法的学习
    UITextField *delegateTextField = [[UITextField alloc]initWithFrame:CGRectMake(100, 200, 100, 100)];
    delegateTextField.borderStyle = UITextBorderStyleLine;
    delegateTextField.placeholder = @"代理方法的学习";
    //设置代理方法
    //self = AppDelegate *appDelegate =[[AppDelegate alloc]init];
    delegateTextField.delegate = self;

    

    

    
    //显示textField
    [self.window addSubview:myTextfield];

    

    

    

    

    
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

#pragma mark -textField代理方法

//是否开始编辑状态
-(BOOL)textFieldShouldBeginEditing:
(UITextField *)textField{
    NSLog(@"%s",__func__);
    return YES;    //改为NO就不能编辑了。
}

//已经进入编辑状态
-(void)textFieldDidBeginEditing:(UITextField *)textField{
    NSLog(@"%s",__func__);
}

//是否结束编辑状态
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    NSLog(@"%s",__func__);
    return YES;
}

//已经结束编辑状态
-(void)textFieldDidEndEditing:(UITextField *)textField{
    NSLog(@"%s",__func__);
}

//点击右下角return按钮所触发的代理方法

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    NSLog(@"%s",__func__);
    //回收键盘
    [textField resignFirstResponder];
    return YES;
}

//实现按钮的回调方法
-(void)animationAction:(UIButton *)sender{

//点击按钮,开始动画,当动画在执行的时候,点击按钮,停止动画
    //先得到imageView
    UIImageView *image = (UIImageView *)[self.window viewWithTag:1000];

    //判断动画是否开启
    BOOL isAni = image.isAnimating;
    if (isAni ==YES) {  //说明动画正在执行
        //停止动画
        [image stopAnimating];
    }else{                //说明动画已经停止
        //开启动画
        [image startAnimating];
    }

}

//text上面按钮的回调方法
-(void)textfiledAction:(UIButton *)sender
    {
    //得到输入框
        UITextField *myTF = (UITextField *)[self.window viewWithTag:2000];
    //得到按钮标题
        NSString *title = [sender titleForState:UIControlStateNormal];

    //将标题显示在输入框中
        myTF.text = title;
    //拼接字符
        myTF.text = [myTF.text stringByAppendingString:title];

    //回收键盘 
取消第一响应者  结束编辑状态
        [myTF resignFirstResponder];

    

        
    }

    

    

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ui