iOS开发之 UI 编程——第二讲

UIButton的使用方法

// UIButton的常用方法
    UIButton *oneButton = [UIButton buttonWithType:UIButtonTypeCustom]; // 初始化时设置Button样式
    // 风格有如下
//    typedef enum {
//        UIButtonTypeCustom = 0,           // 自定义,无风格
//        UIButtonTypeRoundedRect,        // 白色圆角矩形,类似偏好设置表格单元或者地址簿卡片
//        UIButtonTypeDetailDisclosure,//蓝色的披露按钮,可放在任何文字旁
//        UIButtonTypeInfoLight,//微件(widget)使用的小圆圈信息按钮,可以放在任何文字旁
//        UIButtonTypeInfoDark,//白色背景下使用的深色圆圈信息按钮
//        UIButtonTypeContactAdd,//蓝色加号(+)按钮,可以放在任何文字旁
//    } UIButtonType;


    // 最常用
    oneButton.frame = CGRectMake(10, 10, 300, 30); // 设置oneButton的位置和大小
    oneButton.backgroundColor = [UIColor blueColor]; // 设置oneButton背景色
    oneButton.alpha = 0.8; // 设置oneButton的透明度范围在0.0-1.0之间
    [oneButton setTitle:@"我是一个UIButton" forState:UIControlStateNormal]; // 设置在什么状态下显示什么文字
    [oneButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];// 设置什么状态下字体什么颜色
    [oneButton setBackgroundImage:[UIImage imageNamed:@"image.jpg"]forState:UIControlStateNormal]; // 设置什么状态下显示的背景图像
    // 上面几个方法都提到 共同的参数 forState . 这个参数决定了标题、图像或其他属性将在何种状态下显现。你可以编程令按钮在那个状态变化
//    enum {
//        UIControlStateNormal       = 0,//常态
//        UIControlStateHighlighted  = 1 << 0,    //  高亮
//        UIControlStateDisabled     = 1 << 1,    //禁用
//        UIControlStateSelected     = 1 << 2,    // 选中
//        UIControlStateApplication  = 0x00FF0000,// 当应用程序标志使用时
//        UIControlStateReserved     = 0xFF000000 // 为内部框架预留的
//    };
    oneButton.tag = 10001; // 设置标签,用于便于点击的是哪个按钮,常用在委托方法中
    [oneButton.titleLabel setFont:[UIFont systemFontOfSize:25.0f]]; // 设置文字的大小

    oneButton.adjustsImageWhenDisabled = NO; // 对按钮进行微调。当按钮禁用时,图像会被画的颜色深一些 默认是YES,禁止设置为NO
    oneButton.adjustsImageWhenHighlighted = NO; // 对按钮进行微调。当按钮高亮是,图像会被画得颜色深一些 默认是YES,禁止设置为NO

    oneButton.showsTouchWhenHighlighted = YES; // 设置点击的时候是否有光照得效果

    // 给按钮添加响应事件
    [oneButton addTarget:self action:@selector(oneButtonTouchUpInside:)forControlEvents:UIControlEventTouchUpInside];//当按钮被按下时会执行oneButtonTouchUpinside:方法。这个方法是自定义的,需要自己写出。参数是(UIButton *)类型

    // 添加到view
    [self.view addSubview:oneButton];

UITextField的使用方法

// UITextField的常用方法
    UITextField *oneTextField = [[UITextField alloc] init];

    // 最常用
    oneTextField.frame = CGRectMake(30, 30, 260, 35); // 设置位置
    oneTextField.backgroundColor = [UIColor grayColor]; // 设置背景颜色
    oneTextField.alpha = 1.0; // 设置透明度,范围从0.0-1.0之间
    oneTextField.textColor = [UIColor redColor]; // 设置文字的颜色
    oneTextField.text = @"默认的文字"; // 设置默认的文字
    oneTextField.placeholder = @"这是提示文字"; // 显示提示文件,当输入文字时将自动消失
    oneTextField.font = [UIFont boldSystemFontOfSize:25.0f]; // 设置字体的大小
    oneTextField.textAlignment = NSTextAlignmentCenter; // 设置文字的对其方式
    // 对其的样式如下
    //    typedef NS_ENUM(NSInteger, NSTextAlignment) {
//        NSTextAlignmentLeft      = 0,    // Visually left aligned
//#if TARGET_OS_IPHONE
//        NSTextAlignmentCenter    = 1,    // Visually centered
//        NSTextAlignmentRight     = 2,    // Visually right aligned
//#else
//        NSTextAlignmentRight     = 1,    // Visually right aligned
//        NSTextAlignmentCenter    = 2,    // Visually centered
//#endif
//        NSTextAlignmentJustified = 3,    // Fully-justified. The last line in a paragraph is natural-aligned.
//        NSTextAlignmentNatural   = 4,    // Indicates the default alignment for script
//    } NS_ENUM_AVAILABLE_IOS(6_0);

    // 设置oneTextField的样式
    oneTextField.borderStyle = UITextBorderStyleRoundedRect; // 设置oneTextField的样式
    oneTextField.clearsOnBeginEditing = YES; // 再次编辑就清空原有的内容
    oneTextField.minimumFontSize = 20.0f; // 设置自动缩小显示的最小字体大小    
    oneTextField.tag = 10001; // 设置oneTextField的标签,主要用在委托方法中
    oneTextField.secureTextEntry = NO; // 设置是否以密码的圆点形式显示
    oneTextField.autocorrectionType = YES; // 设置是否启动自动提醒更新功能
    oneTextField.returnKeyType = UIReturnKeyDefault; // 设置弹出的键盘带形式与带的按键
    // 以下是弹出的键盘的带按钮的全部样式
//    typedef NS_ENUM(NSInteger, UIReturnKeyType) {
//        UIReturnKeyDefault, // 默认的样式
//        UIReturnKeyGo, // 带一个go按钮
//        UIReturnKeyGoogle, // 带一个Search按钮,使用google搜索
//        UIReturnKeyJoin, // 带一个Join按钮,登录时使用
//        UIReturnKeyNext, // 带一个Next按钮,进入下一个输入框
//        UIReturnKeyRoute, // 带一个Route按钮
//        UIReturnKeySearch, // 带一个Search按钮
//        UIReturnKeySend, // 带一个Send按钮
//        UIReturnKeyYahoo, // 带一个Search,使用yahoo搜索
//        UIReturnKeyDone, // 带一个Done按钮
//        UIReturnKeyEmergencyCall, // 带一个emergency call按钮
//    };


    oneTextField.keyboardType = UIKeyboardTypeNamePhonePad; // 弹出的键盘的样式
    // 以下是所有弹出的键盘的样式
//    typedef NS_ENUM(NSInteger, UIKeyboardType) {
//        UIKeyboardTypeDefault,                // Default type for the current input method.
//        UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
//        UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.
//        UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).
//        UIKeyboardTypeNumberPad,              // A number pad (0-9). Suitable for PIN entry.
//        UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).
//        UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.
//        UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).
//#if __IPHONE_4_1 <= __IPHONE_OS_VERSION_MAX_ALLOWED
//        UIKeyboardTypeDecimalPad,             // A number pad with a decimal point.
//#endif
//#if __IPHONE_5_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED
//        UIKeyboardTypeTwitter,                // A type optimized for twitter text entry (easy access to @ #)
//#endif
//        
//        UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated
//        
//    };

    oneTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; // 输入的对其方法
    oneTextField.autoresizingMask = UIViewAutoresizingFlexibleHeight; // 自动适应高度
    oneTextField.clearButtonMode = UITextFieldViewModeWhileEditing; // 编辑的时候会显示出删除全部的小X
    // 出现删除全部小X的时间
//    typedef enum {
//        UITextFieldViewModeNever // 重不出现
//        UITextFieldViewModeWhileEditing, // 编辑时出现
//        UITextFieldViewModeUnlessEditing, // 除了编辑外都出现
//        UITextFieldViewModeAlways  // 一直出现
//    } UITextFieldViewMode;

    //首字母是否大写
    oneTextField.autocapitalizationType = UITextAutocapitalizationTypeNone;
    // 以下是字母大写的几种情况
//    typedef enum {
//        UITextAutocapitalizationTypeNone, // 不自动大写
//        UITextAutocapitalizationTypeWords, // 单词首字母大写
//        UITextAutocapitalizationTypeSentences, // 句子的首字母大写
//        UITextAutocapitalizationTypeAllCharacters, // 所有字母都大写
//    } UITextAutocapitalizationType;


    //键盘外观
    oneTextField.keyboardAppearance=UIKeyboardAppearanceAlert;
//    typedef enum {
//        UIKeyboardAppearanceDefault, // 默认外观,浅灰色
//        UIKeyboardAppearanceAlert,   // 深灰 石墨色
//    } UIReturnKeyType;


    //最右侧加图片是以下代码  左侧类似
    UIImageView *image=[[UIImageView alloc] initWithImage:[UIImageimageNamed:@"ic_action_stat_share.png"]];
    // oneTextField.rightView = image;
    // oneTextField.rightViewMode = UITextFieldViewModeAlways;
    oneTextField.leftView = image;
    oneTextField.leftViewMode = UITextFieldViewModeAlways;
//    typedef enum {
//        UITextFieldViewModeNever,
//        UITextFieldViewModeWhileEditing,
//        UITextFieldViewModeUnlessEditing,
//        UITextFieldViewModeAlways
//    } UITextFieldViewMode;


    // 要想设置委托,就需要实现协议,需要在.h文件中添加协议
    oneTextField.delegate = self; // 设置委托

    // 添加到view上,并释放内存
    [self.view addSubview:oneTextField];
    [oneTextField release], oneTextField = nil;


//当开始点击textField会调用的方法
-(void)textFieldDidBeginEditing:(UITextField *)textField {
    NSLog(@"开始编辑");
}
//当textField编辑结束时调用的方法
-(void)textFieldDidEndEditing:(UITextField *)textField {
    NSLog(@"结束编辑");
}
//按下Done按钮的调用方法,我们让键盘消失
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder];
    return YES;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值