您的位置:首页 > 移动开发 > IOS开发

[转 整合 ][iOS等控件] 的一些属性使用

2016-04-19 13:26 435 查看

iOS开发系列之一 – UIButton 用法小结

// 初始化按钮并设置类型
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

// 能够定义的UIButton类型有以下6种:
//    typedef enum {
//        UIButtonTypeCustom = 0,          自定义风格
//        UIButtonTypeRoundedRect,         圆角矩形
//        UIButtonTypeDetailDisclosure,    蓝色小箭头按钮,主要做详细说明用
//        UIButtonTypeInfoLight,           亮色感叹号
//        UIButtonTypeInfoDark,            暗色感叹号
//        UIButtonTypeContactAdd,          十字加号按钮
//    } UIButtonType;

// 设置按钮大小和位置
btn.frame = CGRectMake(20, 360, 280, 45);
// 设置按钮背景颜色
btn.backgroundColor = [UIColor colorWithRed:254/255.0f green:254/255.0f blue:254/255.0f alpha:1.0f];
// 设置按钮文字
[btn setTitle:@"Normal" forState:UIControlStateNormal];
[btn setTitle:@"Pressed" forState:UIControlStateHighlighted];

// forState这个参数的作用是定义按钮的文字或图片在何种状态下才会显现,以下是几种状态:
//    enum {
//        UIControlStateNormal       = 0,           常规状态显现
//        UIControlStateHighlighted  = 1 << 0,      高亮状态显现
//        UIControlStateDisabled     = 1 << 1,      禁用的状态才会显现
//        UIControlStateSelected     = 1 << 2,      选中状态
//        UIControlStateApplication  = 0x00FF0000,  当应用程序标志时
//        UIControlStateReserved     = 0xFF000000   为内部框架预留,可以不管他
//    };

// 设置按钮文字颜色
[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
// 设置按钮文字字体
[btn.titleLabel setFont:[UIFont systemFontOfSize:17]];
[btn.layer setMasksToBounds:YES];
// 设置按钮四个圆角半径
[btn.layer setCornerRadius:4.0];
// 设置按钮边框宽度
[btn.layer setBorderWidth:0.5];
// 设置按钮边框颜色
CGColorRef colorref = CGColorCreate(CGColorSpaceCreateDeviceRGB(),(CGFloat[]){168/255.0f, 168/255.0f, 168/255.0f, 1.0});
[btn.layer setBorderColor:colorref];
// 去除按钮在叠加视图中的按下延迟
tableView.delaysContentTouches = NO;
// 添加点击事件
[btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];

// 在视图中显示按钮
[tableView addSubview:btn];

// 按钮点击事件
- (void)btnAction:(id)sender
{
// do something
}


iOS开发系列之二 – UILabel 用法小结

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)];
// 设置标签文字
label.text = @"This is a test text.This is a test text.This is a test text.";
// 设置标签文字字体
// 使用系统字体
label.font = [UIFont systemFontOfSize:20];
// 使用系统字体加粗
//label.font = [UIFont boldSystemFontOfSize:20];
// 指定字体
//label.font = [UIFont fontWithName:@"Arial" size:20];
// 设置标签文字颜色
label.textColor = [UIColor redColor];
// 设置标签背景颜色
label.backgroundColor = [UIColor clearColor];
// 设置标签文字对齐方式
label.textAlignment = NSTextAlignmentCenter;

// iOS7中文本对齐方式有以下几种:
//    enum {
//        NSTextAlignmentLeft      = 0,  左对齐,默认
//        NSTextAlignmentCenter    = 1,  居中对齐
//        NSTextAlignmentRight     = 2,  右对齐
//        NSTextAlignmentJustified = 3,  在一个段落的最后一行自然对齐
//        NSTextAlignmentNatural   = 4,  默认对齐方式
//    } NSTextAlignment;

// 设置标签文字自动折行方式
label.lineBreakMode = NSLineBreakByWordWrapping;

// 文本自动折行方式有以下几种:
//    enum {
//        NSLineBreakByWordWrapping = 0,  以单词为显示单位显示,后面部分省略不显示,默认
//        NSLineBreakByCharWrapping,      以字符为显示单位显示,后面部分省略不显示
//        NSLineBreakByClipping,          剪切与文本宽度相同的内容长度,后半部分被删除
//        NSLineBreakByTruncatingHead,    开头省略,显示尾部文字内容
//        NSLineBreakByTruncatingTail,    结尾省略,显示开头的文字内容
//        NSLineBreakByTruncatingMiddle   中间省略,显示头尾的文字内容
//    } NSLineBreakMode;

// 设置标签文字行数,0表示多行
label.numberOfLines = 0;
// 设置阴影颜色
[label setShadowColor:[UIColor blackColor]];
// 设置阴影偏移量
[label setShadowOffset:CGSizeMake(-1, -1)];
// 改变字母之间的间距来适应Label大小
label.adjustsLetterSpacingToFitWidth = NO;
// 设置字体大小适应label宽度
label.adjustsFontSizeToFitWidth = YES;
// 如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为
label.baselineAdjustment = UIBaselineAdjustmentNone;

// 文本基线类型有以下几种:
//    typedef enum {
//        UIBaselineAdjustmentAlignBaselines,  文本最上端与中线对齐,默认
//        UIBaselineAdjustmentAlignCenters,    文本中线与标签中线对齐
//        UIBaselineAdjustmentNone,            文本最底端与标签中线对齐
//    } UIBaselineAdjustment;

//设置能否与用户进行交互
label.userInteractionEnabled = YES;
//设置标签文字是否可变,默认为YES
label.enabled = NO;
// 设置标签边框
label.layer.borderColor = [[UIColor grayColor] CGColor];
// 设置边框粗细
label.layer.borderWidth = 2;

// 多行标签高度自适应
// 设置标签字体属性
NSDictionary *labelAttributes = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:20], NSFontAttributeName, nil];
// 获取标签根据文本和字体自适应后的高度,此处CGSizeMake为最大外框大小
CGFloat labelHeight = [@“This is a test text.This is a test text.This is a test text.” boundingRectWithSize:CGSizeMake(280, 200) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:labelAttributes context:nil].size.height;


iOS开发系列之三 – UITextField 用法小结

// 初始化输入框并设置位置和大小
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 100, 300, 30)];
// 设置输入框提示
textField.placeholder = @"TextField Tip";
// 输入框中预先输入的文字
textField.text = @"预先输入的文字";
// 设置输入框文本的字体
textField.font = [UIFont fontWithName:@"Arial" size:20.0f];
// 设置输入框字体颜色
textField.textColor = [UIColor redColor];
// 设置输入框的背景颜色
textField.backgroundColor = [UIColor grayColor];
// 设置输入框边框样式
textField.borderStyle = UITextBorderStyleRoundedRect;

// 边框样式有以下几种:
//    enum {
//        UITextBorderStyleNone,        无边框,默认
//        UITextBorderStyleLine,        有线型边框
//        UITextBorderStyleBezel,       有线型边框和阴影
//        UITextBorderStyleRoundedRect  有圆角边框
//    } UITextBorderStyle;

// 设置输入框是否用于密码
textField.secureTextEntry = NO;
// 设置是否有清除按钮,在什么时候显示,用于一次性删除输入框中的所有内容
textField.clearButtonMode = UITextFieldViewModeWhileEditing;

// 清除按钮样式有以下几种:
//    enum {
//        UITextFieldViewModeNever,          从不出现
//        UITextFieldViewModeWhileEditing,   编辑时出现
//        UITextFieldViewModeUnlessEditing,  除了编辑外都出现
//        UITextFieldViewModeAlways          一直出现
//    } UITextFieldViewMode;

// 设置自动纠错方式
textField.autocorrectionType = UITextAutocorrectionTypeNo;

// 自动纠错方式有以下几种:
//    enum {
//        UITextAutocorrectionTypeDefault,  默认
//        UITextAutocorrectionTypeNo,       不自动纠错
//        UITextAutocorrectionTypeYes,      自动纠错
//    } UITextAutocorrectionType;

// 设置自动大写方式
textField.autocapitalizationType = UITextAutocapitalizationTypeNone;

// 自动大写方式有以下几种:
//    enum {
//        UITextAutocapitalizationTypeNone,           不自动大写
//        UITextAutocapitalizationTypeWords,          单词首字母大写
//        UITextAutocapitalizationTypeSentences,      句子的首字母大写
//        UITextAutocapitalizationTypeAllCharacters,  所有字母都大写
//    } UITextAutocapitalizationType;

// 设置再次编辑是否清空
textField.clearsOnBeginEditing = YES;
// 设置文本对齐方式
textField.textAlignment = NSTextAlignmentLeft;

// iOS7中文本对齐方式有以下几种:
//    enum {
//        NSTextAlignmentLeft      = 0,  左对齐,默认
//        NSTextAlignmentCenter    = 1,  居中对齐
//        NSTextAlignmentRight     = 2,  右对齐
//        NSTextAlignmentJustified = 3,  在一个段落的最后一行自然对齐
//        NSTextAlignmentNatural   = 4,  默认对齐方式
//    } NSTextAlignment;

// 设置字体大小是否自动适应输入框宽度,默认是保持原来大小,长文本滚动
textField.adjustsFontSizeToFitWidth = YES;
// 设置自动缩小显示的最小字体大小
textField.minimumFontSize = 20;
// 设置键盘的样式
textField.keyboardType = UIKeyboardTypeNumberPad;

// 键盘样式有以下几种:
//    enum {
//        UIKeyboardTypeDefault,                默认键盘,支持所有字符
//        UIKeyboardTypeASCIICapable,           支持ASCII的默认键盘
//        UIKeyboardTypeNumbersAndPunctuation,  标准电话键盘,支持+*#字符
//        UIKeyboardTypeURL,                    只支持URL字符的URL键盘,支持.com按钮
//        UIKeyboardTypeNumberPad,              数字键盘
//        UIKeyboardTypePhonePad,               电话键盘
//        UIKeyboardTypeNamePhonePad,           支持输入人名的电话键盘
//        UIKeyboardTypeEmailAddress,           电子邮件键盘
//        UIKeyboardTypeDecimalPad,             有数字和小数点的数字键盘
//        UIKeyboardTypeTwitter,                优化的键盘,方便输入@、#字符
//        UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
//    } UIKeyboardType;

// 设置return键样式
textField.returnKeyType = UIReturnKeyDone;

// return键有以下几种样式:
//    enum {
//        UIReturnKeyDefault,        默认,灰色按钮,标有Return
//        UIReturnKeyGo,             标有Go的蓝色按钮
//        UIReturnKeyGoogle,         标有Google的蓝色按钮,用于搜索
//        UIReturnKeyJoin,           标有Join的蓝色按钮
//        UIReturnKeyNext,           标有Next的蓝色按钮
//        UIReturnKeyRoute,          标有Route的蓝色按钮
//        UIReturnKeySearch,         标有Search的蓝色按钮
//        UIReturnKeySend,           标有Send的蓝色按钮
//        UIReturnKeyYahoo,          标有Yahoo的蓝色按钮
//        UIReturnKeyYahoo,          标有Yahoo的蓝色按钮
//        UIReturnKeyEmergencyCall,  紧急呼叫按钮
//    } UIReturnKeyType;

// 设置键盘外观
textField.keyboardAppearance = UIKeyboardAppearanceDefault;

// 键盘外观有一下两种:
//    enum {
//        UIKeyboardAppearanceDefault, 默认外观,浅灰色
//        UIKeyboardAppearanceAlert,   深灰,石墨色
//    } UIReturnKeyType;

// 设置代理,用于实现协议
textField.delegate = self;

// 最右侧加图片是以下代码,左侧类似
UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];
textField.rightView = image;
textField.rightViewMode = UITextFieldViewModeAlways;

// 把输入框加到视图中
[self.view addSubview:textField];

// 按return键收起键盘
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[text resignFirstResponder];
return YES;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: