iOS学习之基础控件
// 创建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))];
// 设置背景颜色 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对象 UITextField *userNameTextField = [[UITextField alloc] initWithFrame:CGRectMake(, , , )]; // 设置边框风格 userNameTextField.borderStyle = UITextBorderStyle RoundedRect; // 设置占位符 userNameTextField.placeholder = @"手机号/邮箱"; // 将UITextField添加到父视图 [self.window addSubview:userNameTextField]; // 释放所有权(MRC) [userNameTextField release];
// 设置文本内容 userNameTextField.text = @"用户名:"; userNameTextField.textColor = [UIColor blackColor]; // 文本对齐方式 userNameTextField.textAlignment = NSTextAlignmentLeft;
// 是否允许编辑 userNameTextField.enabled = YES; // 开始编辑时是否清空输入框 userNameTextField.clearsOnBeginEditing = YES; //是否安全输入 userNameTextField.secureTextEntry = YES; // 弹出键盘的类型 userNameTextField.keyboardType = UIKeyboardTypeAlphabet; // 键盘右下角return按钮类型(枚举值) userNameTextField.returnKeyType = UIReturnKeyDefault;
// 清除按钮模式 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;
// 1.设置代理 userNameTextField.delegate = self; // 2.遵守协议 @interface AppDelegate : UIResponder <UIApplicationDelegate,UITextFieldDelegate> // 3.实现协议方法 - (BOOL)textFieldShouldReturn:(UITextField *)textField { NSLog(@"键盘上回车按键"); [textField resignFirstResponder]; return YES; } // 成为第一响应者,运行就进入编辑状态 [userNameTextField becomeFirstResponder];
// 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; }
// 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];
// 实现按钮点击事件 - (void)buttonClick:(UIButton *)sender { NSLog(@"点我"); sender.backgroundColor = [UIColor colorWithRed:arc4random() % / / / ]; // 移除事件 [sender removeTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside]; }
iOS学习之基础控件的更多相关文章
- iOS学习笔记——基础控件(上)
本篇简单罗列一下一些常用的UI控件以及它们特有的属性,事件等等.由于是笔记,相比起来不会太详细 UIView 所有UI控件都继承于这个UIView,它所拥有的属性必是所有控件都拥有,这些属性都是控件最 ...
- iOS学习之UIPickerView控件的关联选择
接上篇iOS学习之UIPickerView控件的简单使用 接着上篇的代码 http://download.csdn.net/detail/totogo2010/4391870 ,我们要实现的效果如下: ...
- IOS 学习笔记(6) 控件 文本域(UITextField)的使用方法
UITextField控件的诸多特性都和UITextView相似,比如成为输入文本焦点时键盘自动显示,支持长按弹出动作选项,能够接收输入事件(开始输入,修改内容,结束输入和点击回车等). 1.特有的特 ...
- iOS学习之UIDatePicker控件使用
iOS上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式. , 您可以选择自己需要的模式,Time, Date,Date and Time , Count Down Ti ...
- ios 学习笔记之控件属性
1.文本框 设置密码属性:Secure Text Entry 勾选; 设置文本框带清除属性: Clear Button =Is always visible; 默认是不带清除属性:Never app ...
- IOS 学习笔记(7) 控件 分隔栏控件(UISegmentControl)的使用方法
分隔栏控件的系统默认式样一共有3种,分别是“普通式样”,"边框式样","条状式样" 分隔栏控件中有一个momentary属性,默认时NO.当开发者配置成YES时 ...
- IOS 学习笔记(5) 控件 文本视图(UITextView)的使用方法
相对于UILabell所支持的较短文本内容,UITextView对于长文本的支持更好.UITextView能够以滚动的方式全部浏览到长文本,并且就像UILabel那样,从ISO6,他也提供了对NSAt ...
- IOS 学习笔记(4) 控件 标签(UILabel)的使用方法
虽说Label的中文翻译是标签标记,但它其实是一个静态文本内容的展现控件. 一般来说,UILabel只是一个只读的文本视图,开发者可以利用UiLabel来展示内容长度有固定上限的文字内容.并且,UIL ...
- iOS学习之UIPickerView控件的简单使用
UIPickerView控件在给用户选择某些特定的数据时经常使用到,这里演示一个简单的选择数据,显示在UITextField输入框里,把UIPickerView作为输入View,用Toolbar作为选 ...
随机推荐
- Android IOS WebRTC 音视频开发总结(五十)-- 技术服务如何定价?
这篇文章最早是杜老师写的,看完感触很深,加上之前跟咨询公司的朋友也讨论过这方面的问题,所以结合自己的经验,做了些删改(得到了杜老师的授权). 先通过下面几个简单的问题来了解技术服务: 问题1:技术服务 ...
- Chrome不能登录和同步的解决方法
打开 C:\Windows\System32\drivers\etc 下的 hosts文件 #SmartHosts START #Google Services START .docs.google. ...
- SpringMVC与HTML页面
springMVC返回html页面 spring-mvc.xml配置: <bean id="viewResolver" class="org.springfram ...
- HTML自动换行的问题
有时文本文字已经超过所在的区域,但是文字还是不自动换行 可以用强制换行 强制不换行div{ white-space:nowrap;}自动换行div{ word-wrap:break-word; wor ...
- 泛型集合转换为DataTable
在做项目中,遇到了将集合转换为DataTable的使用,在网上看了资料,在这里记录下来,分享. using System; using System.Collections.Generic; usin ...
- js 实现栈
function Stack() { this.dataStore = []; this.top = 0; this.push=push; this.pop=pop; this.peek=peek; ...
- LotusPhp中配置文件组件LtConfig详解
LotusPhp中配置文件组件LtConfig是约定的一个重要组成部分,适用于多个场景,多数的LotusPhp组件如数据库,缓存,RBAC,表单验证等都需要用到配置组件,LtConfig配置组件也是L ...
- (转)Android SlidingTabLayout定制分割线和指示条颜色
本文转载与:http://blog.csdn.net/zhangphil/article/details/48863347 Android SlidingTabLayout默认的滑动指示条是系统默认的 ...
- 关于VS2012下安装破解文件Visual Assit X的一点说明
今天在使用Visual Studio 2012的时候,编写代码的助手Visual Assit X突然提示我说,试用期已过,要求我输入一个注册码,我靠,这货不是几个月前已经破解了吗,怎么今天傻不愣登的提 ...
- ContentProvider与ContentResolver使用【转】
这篇文章被转载而转载者未注明原文出处,在此未加上原文地址链接,本人向原作者致以歉意. 下面是文章内容: 使用ContentProvider共享数据: 当应用继承ContentProvider类,并重写 ...