码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发一行代码系列:一行搞定输入框

时间:2014-11-03 14:31:18      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   os   使用   for   sp   

近期总结了下开发过程中经常使用的功能,发现有时候我在做反复性的劳动。于是决定把经常使用的功能抽出来,方便下次使用。

我的想法是:用最少的代码来解决这个问题。于是写了一些经常使用的工具类,名字就叫一行代码系列吧。。。好像挺挫的。。

大致内容有:

1、一行搞定输入框

2、一行搞定网络请求

3、一行搞定上下拉刷新(会自己主动推断是上拉还是下拉还是两者并存)

4、一行搞定数据库(近期还在写,功能已经基本实现)

5、一行搞定图片保存

6、一行搞定定位

7、一行搞定网络状况变化

8、一行搞定X(功能小集合)



一行搞定输入框

输入框经常见到,特别是注冊的时候须要填写一大堆信息,这时候就会有2个问题:输入框被键盘遮挡,键盘怎样消失。

当时考虑到一种情况是: 全部的输入框都不是同级的,就是多个视图嵌套,然后里面有N个输入框,输入框可能是UITextField,UITextView,UISearchBar。于是就依照这样的情况写了下,至于中间的Bug,大家能够提出改动。

由于个人的局限性太大了,还是希望大家Fork并改动,这样其它人也能够用到你写的工具,不要搞什么技术垄断之类的。

原理:从相对根视图遍历子视图,假设子视图是UITextField,UITextView,UISearBar,就把它的inputAccessoryView设置为全局的toolBar,同一时候记下它的相对坐标,以此类推。

使用:使用仅仅要一行代码,它会自己主动推断坐标,同一时候你能够控制键盘的消失方式:点击视图消失,还是点击键盘外的某处消失,还是点击完毕消失。


- (void)viewDidLoad {
    [super viewDidLoad];
    
    [inputHelper setupInputHelperForView:self.view withDismissType:InputHelperDismissTypeTapGusture];
    
}


bubuko.com,布布扣

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_ENUM(NSInteger, InputHelperDismissType) {
    
    InputHelperDismissTypeNone = 0,
    InputHelperDismissTypeCleanMaskView,
    InputHelperDismissTypeTapGusture
};

@interface InputHelper : NSObject

+ (InputHelper *)sharedInputHelper;
- (void)dismissInputHelper;
- (void)setupInputHelperForView:(UIView *)view withDismissType:(InputHelperDismissType)dismissType;


@end


#define inputHelper [InputHelper sharedInputHelper]



支持类型:

支持UITextField,UITextView,UISearBar 3种类型。常见的就能够啦。。


源代码:

点击这里   或者       点我


iOS开发一行代码系列:一行搞定输入框

标签:style   blog   http   io   ar   os   使用   for   sp   

原文地址:http://www.cnblogs.com/gcczhongduan/p/4070958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!