UITextField手动编写

一、UITextField手动编写控件

UITextField  *txtAccount = [[UITextField alloc] initWithFrame:CGRectMake(10, 10,300, 30)];

// 设置委托

[txtAccount setDelegate:self];

// 设置占位符

[txtAccount setPlaceholder:@"账号"];

// 设置颜色

[txtAccount setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];

// 设置字体

[txtAccount setValue:[UIFont boldSystemFontOfSize:16] forKeyPath:@"_placeholderLabel.font"];

// 设置文本对齐

[txtAccount setTextAlignment:NSTextAlignmentLeft];

// 设置样式

[txtAccount setBorderStyle:UITextBorderStyleRoundedRect];

// 加入view中

[self.view addSubview: txtAccount];

[txtAccount release];

二、UITextFieldDelegate委托

// 设置输入框,是否可以被修改

// NO-将无法修改,不出现键盘

// YES-可以修改,默认值

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

return YES;

}

// 当点击键盘的返回键(右下角)时,执行该方法。

// 一般用来隐藏键盘

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

if (txtAccount == textField) {

[txtAccount resignFirstResponder];

}

return YES;

}

// 当输入框获得焦点时,执行该方法。

- (void)textFieldDidBeginEditing:(UITextField *)textField{

NSLog(@"textFieldDidBeginEditing");

}

// 指定是否允许文本字段结束编辑,允许的话,文本字段会失去first responder

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{

return YES;

}

// 文本框失去first responder 时,执行

- (void)textFieldDidEndEditing:(UITextField *)textField{

NSLog(@"textFieldDidEndEditing");

}

// 指明是否允许根据用户请求清除内容

- (BOOL)textFieldShouldClear:(UITextField *)textField{

NSLog(@"textFieldDidEndEditing");

return YES;

}

// 文本框的文本,是否能被修改

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

return YES;

}

时间: 2024-10-16 03:10:38

UITextField手动编写的相关文章

qtday01 ubuntu 下手动编写第一个qt程序

//qt 5.2.1 //1t目录下 //1t.cpp /* 第一个qt程序 */ #include <QApplication> #include<QtWidgets/QLabel> #include<QString> #include<QTextCodec> int main(int argc,char** argv){ /*构造一个对象*/ QApplication app(argc,argv); QTextCodec* coder=QTextCode

手动编写JQUERY插件

就拿一个简单的示例来说,鼠标点击输入框,提示文字消息,鼠标移开,再显示提示文字. <script type="text/javascript"> //编写插件 (function ($) { $.fn.placeholder = function (option) { var input = this; input.focus(function () { if (input.val() == "" || input.val() == option.Def

代码里手动编写UI

其实android可以和java一样手动编写UI,最后setContentView()显示. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); LinearLayout ln=new LinearLayout(this); LinearLayout.LayoutParams param

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版本非常多,相关的编译器,解释器也有很多,很多还有最小系统,嵌入式系统等等.同一功能的软件如果只有编译好的软件包,在其它linux的平台上,可能并不能正常安装运行,在此情况下,源码包编译安装出现了.所以本文的重点是以nginx为例,给出源码包编译安装的详细过程,同时带你手工编写自动化运行脚本. 准备工

动态代理 -- 不用手动编写一个代理对象,不需要编写与目标对象相同的方法,在运行时内存中动态生成代理对象。

动态代理创建的核心代码: TargetInterface objProxy = (TargetInterface) Proxy.newProxyInstance( Target.class.getClassLoader(),//与目标对象相同的类加载器 new Class[]{TargetInterface.class}, new InvocationHandler() { @Override //proxy 即该代理对象 //method 代理对象的方法,里面封装这接口中的所有方法 //arg

夺命雷公狗---PHP开发APP接口---1(手动编写json)

在php里面按照json的方式产生json数据 接口的定义 <?php class Ren{ /** *按json方式输出通信数据 *param integer $code状态码 *param string $message提示信息 *param array $data数据 */ public static function json($code,$message='',$data=array()){ if(!is_numeric($code)){ return ''; } $result =

夺命雷公狗---PHP开发APP接口---2(手动编写XML)

封装通信接口的方法 PHP生成XML数据 1.组装字符串 2.使用系统类 DomDocument XMLWriter SimpleXML 这些类均可在PHP手册上查找到 如: DOMDocument::createElement — Create new element node(创建一个新的节点) 具体使用方法手册下面找到的列子: <?php $dom = new DOMDocument ( '1.0' , 'utf-8' ); $element = $dom -> createElemen

Linux自动修改IP脚本(手动编写)

#!/bin/bashnetmask=255.255.255.0IP_PATH=/etc/sysconfig/network-scripts/ifcfg-eth0GM_PATH=/etc/sysconfig/networkecho -e "Please input IP(FORMAT:192.168.46.88):\c"read ipecho -e "Please input GateWay(FORMAT:192.168.46.1):\c"read gateway#

手动编写第一个javaWEB文件

首先看一下文件结构的目录:(我用的idea集成开发环境,默认有.idea包,如果不用任何工具创建项目,.idea包不用管,按照创建过程走即可) 创建过程: 1.建立web项目文件-->myhome 2.在myhome文件夹下创建index.jsp页面,页面内容: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&q