//
// ViewController.m
// 一行显示可滚动的文本
//
// Created by apple on 15-5-8.
// Copyright (c) 2015年 apple. All rights reserved.
// #import "ViewController.h" @interface ViewController () {
UIScrollView *_scrollView;
UITextField *_textField1;
NSInteger _indextext;
}
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
_scrollView = [[UIScrollViewalloc]initWithFrame:CGRectMake(,CGRectGetHeight(self.view.bounds)/,CGRectGetWidth(self.view.bounds) - , )];
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.bounces = NO;
_scrollView.layer.borderWidth = ;
[self.view addSubview:_scrollView]; NSMutableAttributedString * attributedStr4 = [[NSMutableAttributedStringalloc]initWithString:@"请输入约会内容"];
[attributedStr4 addAttribute:NSForegroundColorAttributeName value:[UIColor grayColor] range:NSMakeRange(, attributedStr4.length)];
_textField1 = [[UITextField alloc]initWithFrame:CGRectMake(,,CGRectGetWidth(self.view.bounds) - , )];
_textField1.textAlignment = NSTextAlignmentRight;
_textField1.text = @"";
_textField1.textColor = [UIColor grayColor];
_textField1.font = [UIFont fontWithName:@"Helvetica-Bold" size:];
_textField1.attributedPlaceholder = attributedStr4;
[_textField1 addTarget:self action:@selector(textFieldEditChanged:)forControlEvents:UIControlEventEditingChanged];
[_scrollView addSubview:_textField1];
_scrollView.contentSize = CGSizeMake(CGRectGetWidth(_textField1.bounds),); }
- (void)textFieldEditChanged:(UITextField *)textField
{
if (CGRectGetWidth(_textField1.bounds) >=CGRectGetWidth(self.view.bounds) - ) {
_scrollView.contentSize =CGSizeMake(CGRectGetWidth(_textField1.bounds),);
NSLog(@"%.2f",_scrollView.contentSize.width);
if (_indextext != _textField1.text.length) {
[_textField1 sizeToFit];
[_scrollViewsetContentOffset:CGPointMake(CGRectGetWidth(_textField1.bounds) -CGRectGetWidth(_scrollView.bounds), ) animated:NO];
_indextext = _textField1.text.length;
}
}
else {
_textField1.frame = CGRectMake(, ,CGRectGetWidth(self.view.bounds) - , );
[_scrollView setContentOffset:CGPointMake(, ) animated:NO];
_scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.view.bounds) - ,);
_indextext = _textField1.text.length; }
if (_textField1.text.length > ) {
_textField1.text = [_textField1.text substringToIndex:];
} } @end

补1:我这方法其实很笨,大家有好的方法共享出来,共同进步!

补2:textfield加个状态监听器-限制中文

- (void)viewDidLoad
{
[_textField addTarget:self action:@selector(textFieldEditChanged:) forControlEvents:UIControlEventEditingChanged]; [super viewDidLoad];
} - (void)textFieldEditChanged:(UITextField *)textField
{
NSLog(@"textField text : %@", [textField text]);
}

这样,无论是字母还是中文,都能动态获取

上面的中文限制是有bug的当你一直输入拼音不选择汉子到一定数量汉字联想自动关闭了

修改后链接:

http://www.cnblogs.com/hxwj/p/4560229.html

只 一行显示可左右滚动的文本(UITextField中文限制)的更多相关文章

  1. Android GridView 一行显示数据(包括图片和文本),解决的办法是计算数据占该行的宽度是多少

    最近在做图片的浏览功能,开始是使用Gallery做,但是,达不到我想要的效果,关于使用Gallery显示缩略图的缺点和优点,不在详述了.以下是一个完整的Demo代码,注意我的模拟器是640*960. ...

  2. Java Swing 如何添加输入文字并且可以滚动的文本框?( JTextArea ,JScrollPane的使用)

    准备: JTextArea 文本区,一个可以输入文字的文本框 常用方法: 1.setText(String t)设置文本区中显示的文本 2.getText() 获取文本区中显示的文本 JScrollP ...

  3. CSS3属性之text-overflow:ellipsis,指定多行文本中任意一行显示...

    对于text-overflow:ellipsis,文本超出部分显示...,但要实现这个效果,却有一些必备条件,如下: div{ overflow:hidden; white-space:nowrap; ...

  4. Delphi TMemo 可以显示、编辑多行文本

    多行编辑框组件(TMemo)TMemo组件可以显示.编辑多行文本,是一个标准的Windows多行编辑组件.对一些比较多的文本内容可以利用TMemo组件来显示.编辑. 1.TMemo组件的典型用法 TM ...

  5. tableview最后一行显示不全

    最后一行显示不全是因为表格的高度大于了控制view的高度,减小表格的高度小于的等于控制的view的高度即可

  6. 多个div 一行显示的处理方式

    1.方式一: 通过div的float属性,定义宽度,然后定义float属性和width的属性,实现多个div在一行显示: 2.方式二: 通过div的display的属性,至少进行2成div的displ ...

  7. Oracle一列的多行数据拼成一行显示字符

    Oracle一列的多行数据拼成一行显示字符   oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数.    www.2cto.com   先介绍:WMSYS.WM_CO ...

  8. 如何利用CSS代码使图片和文字在同一行显示且对齐

    对于初学css的新手朋友来说,经常会遇到这样一个问题,当文字和图片出现在同一行或者同一个div里面的时候,在浏览器中运行出来的显示效果往往是在不同的行,那么,我们怎么才能利用CSS代码使图片和文字在同 ...

  9. js 在遍历时只会显示最后一个遍历到的结果

    在做项目时遇到了一个关于遍历的问题, 前提是:在ul中有n个li每个li从后台获取的数据中有一个sign的字段,当sign等于0时(li未被点击过)li会显示一个红点,当sign不等于0时(li已被点 ...

随机推荐

  1. 小心C语言的定义与声明

    小心C语言的定义与声明 转自360博客 注:为便于说明问题,文中提及的变量和函数都被简化. 一.起源 DBProxy在测试过程中,发现对其执行某步管理操作后,程序有时会崩溃,但不是每次都出现. 二.G ...

  2. 常用的PC/SC接口函数

    PC/SC规范是一个基于WINDOWS平台的一个标准用户接口(API),提供了一个从个人电脑(Personal Computer)到智能卡(SmartCard)的整合环境,PC/SC规范建立在工业标准 ...

  3. kettle发送邮件

    使用kettle发送邮件是为了更好的监控ETL的加载信息 以下是我通过测试的一个案例 1. JOB示意图 2.邮件发送配置详细信息 2.1地址信息配置 2.2 服务器信息配置 上图中所说的" ...

  4. 微价值:专访《甜心爱消除》的个人开发者Lee,日入千元

    [导语] 我们希望能够对一些个人开发者进行专访,这样大家更能显得接地气,看看人家做什么,怎么坚持.<甜心爱消除>作者Lee是三群的兄弟,也关注微价值.微价 值的文章还是可以的,得到一些业内 ...

  5. How to Call a synchronize function asynchronizly in C#

    How to call a function asynchronizly in C# # Page1- Delegate.begininvoke, endinvoke BeginInvoke and ...

  6. sharepoint 2010 基于AD的Form验证

    一.新建web应用程序 1.验证部分选择“基于声明的身份验证” 2.设置端口 3.选择“启用基于窗体的身份验证(FBA)” “ASP.NET 成员身份提供程序名称”下面填写“LdapMember” “ ...

  7. Android开发随笔1

    由于对Android的不了解所以上网看视频学习 昨天: 配置安卓的开发环境,一开始想直接在www.android.com里下载相应的sdk工具整合包后来因为需要越墙便跟从同学那里要了一份sdk 装jd ...

  8. 向Array中添加希尔排序

    希尔排序思路 我们在第 i 次时取gap = n/(2的i次方),然后将数组分为gap组(从下标0开始,每相邻的gap个元素为一组),接下来我们对每一组进行直接插入排序. 希尔排序实现 Functio ...

  9. ELK kibana查询与过滤(17th)

    在kibana中,可通过搜索查询过滤事务或者在visualization界面点击元素过滤. 创建查询 在Discover界面的搜索栏输入要查询的字段.查询语法是基于Lucene的查询语法.允许布尔运算 ...

  10. Python中的高阶函数与匿名函数

    Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...