iOS新浪微博UITextView的封装(暂不包括键盘上的表情条)

第一部分 目标效果

今天要达到的目标如下:

     

第二部分 理论知识

从上面的图片和我们经常使用新浪微博的经验来看,一点击文字输入框就会调用出键盘的会有两个控件,一个是UITxtField和UITextView,那么到底选哪个控件好了,在选控件之前,我们先来看看他们的区别

通过上表可以发现,UITextView没有placeholder属性,而UITextField却有,但是,UITextfield只能显示一行文字,而UITextView却能显示任意一行文字,就实际效果来看,我们选择UItextview,并且重写它的某些方法即可,就本次的目标来看,增加两个属性即可,placeholder和placeholdercolor即可。目标确定之后,我们新建一个类LHTextView,继承自UITextView,

它的头文件如下图

那么如何显示placeholder呢?,这里我们采取quart2D的绘图技术,重绘这个placeholder,在.m文件中实现这个方法如下图

既然在头文件里声明了这两个属性,那么在调用的时候一定会调用setter方法,所以我们在.m文件同样重写这两个setter方法,

由于要实现实时改变textview的文字和字体大小,所以也要重写他们的setter方法

当然,我们自定义控件,肯定要实现它的初始化方法:

讲到这里,自定义控件方法写完了

第三部分  测试效果

自定义空间之后当然需要测试了,看写的正不正确,在下图的这个方法里修改placeholder和placeholdercolor两个属性

我们修改它的字体大小(font属性)来测试,结果如下图

修改颜色改为橙色如下

以上测试发现都可以,就算是测试通过吧,最后别忘了把通知移除哦

好啦,今天的博客就讲到这,讲得不好,欢迎批评指正或留言交流!

时间: 2024-10-22 10:10:14

iOS新浪微博UITextView的封装(暂不包括键盘上的表情条)的相关文章

iOS 新浪微博-1.1框架升级

在iOS 新浪微博-1.0框架搭建 中,使用的是xcode5.1.1开发.现在把重整了一下框架 改为xcode7.0开发 使用cocoaPad管理第三方库 程序将托管到github上 在改为xcode7.0开发的过程中,有几个地方是要设置的. 添加启动图片 第一步:添加LaunchImage 第二步:设置App Icons and Launch Images,修改成下图所示. Launch Images Source 设置为 LaunchImage Launch Screen File 请空 第

ios 新浪微博Oauth授权失败 (error:redirect_rul_mismatch)

原因:移动端应用Oauth授权,不需要填写回调地址,不像web端,把下面的地址删除即可 ps:实际上他是有回调的,地址为:http:// ios 新浪微博Oauth授权失败 (error:redirect_rul_mismatch),布布扣,bubuko.com

iOS中UITextView方法解读

iOS中UITextView方法解读 常用属性解读: @property(nonatomic,assign) id<UITextViewDelegate> delegate; 设置代理属性 @property(nonatomic,copy) NSString *text; textView上的文本 @property(nonatomic,retain) UIFont *font; 设置文本字体 @property(nonatomic,retain) UIColor *textColor; 设置

ios sqlite3数据库的封装-自己封装的,针对锁死database is closed的解决和预防

在数据库创建时应判断数据是否存在(不为空nil) if(sqlite==nil){// 判断数据库是否存在,若存在就不创建,若不存在才创建,以防数据库锁死 if (SQLITE_OK == sqlite3_open(dpPath.UTF8String , &sqlite)) { NSLog(@"数据库创建成功"); }else{ NSLog(@"数据库创建失败"); } } #import "SqlManager.h" #import &

iOS imagepicker &amp; uitextview

http://www.icodeblog.com/2009/07/28/getting-images-from-the-iphone-photo-library-or-camera-using-uiimagepickercontroller/ http://stackoverflow.com/questions/13263808/adding-images-to-uitextview iOS imagepicker & uitextview

ios 仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View.

仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View. 实现原理,UINavigationController 的 self.view显示时把当前显示的view截图下来,保存到一个数组中.当push一个view时把上一个view的截图放到self.view后面,当self.view向右拖动时显示上一个view. NavigationController.m #import "NavigationController.h" @interface

iOS基础——通过案例学知识之UITableView(上)

iOS基础--通过案例学知识之UITableView(上) 对于UITableView的知识点特别多,因为它是iOS用得最多控件之一,我会尽我最大努力和语言的组织,将所有知识点介绍到位,今天要实现的效果图 吐槽 与Android对比,可以说跟ListView的实现几乎一样,跟RecyclerView一模一样 Android写起来似乎比iOS复杂一点,因为iOS大部分都被封装好了,这一点iOS做得好 对于iOS的方法的命名只能说又长又臭 知识点包括 UITableView的UITableViewD

ios上禁止输入表情

ios上禁止输入表情 + (BOOL)isContainsEmoji:(NSString *)string { __block BOOL isEomji = NO; [string enumerateSubstringsInRange:NSMakeRange(0, [string length]) options:NSStringEnumerationByComposedCharacterSequences usingBlock: ^(NSString *substring, NSRange s

ios APP 在 waiting for review时重新上传程序

点击details进入后在link点击binary details,进入之后点击右上角reject this binary,然后就可以重新上传了.ios APP 在 waiting for review时重新上传程序