故事前景:
某直播刷人气,主播随机截图抽取当前留言者为中奖对象......
想着写个第三方键盘无限刷 然后写了这个么小玩意,贴出来互相学习
首先当然是创建一个手机APP项目:(这一步贴上来真是浪费流量.....)
新建项目以后我直接新建了两个控件:(为了研究键盘的发送,和写入数据用)
一开始我以为苹果会直接提供发送方法,类似点击键盘上的(done,return....)找了一圈苹果文档么发现,后来去墙外发现了原来是换一种方式玩的,往下看:
在原来的项目上添加了一个 target 如图 (这玩意就是苹果的第三方键盘了)
如下是自动创建的两个类,所有内容都从这里面展开:
首先要解决的第一个问题是 如何插入文字,以微信为例,如何在微信聊天输入框插入文本:
UITextDocumentProxy 这个类为我们提供了插入,删除,等基本操作,但是方法也不多就几个基本的
//自己猜
- (void)dismissKeyboard;
//切换键盘
- (void)advanceToNextInputMode;
//判断是否存在文本(我猜的没有试验)
- (BOOL)hasText;
//插入文本
- (void)insertText:(NSString*)text;
//删除(我估计删除一个字符,我猜的没试)
- (void)deleteBackward;
这些方法够用了,一开始跑起来时候默认是长这样的:
创建新的view 没有什么特别的
跑起来的时候让我选择个APP 执行 但是我发现 没有选的也可以使用键盘,这个我后期研究差不多了陆续提交:
最最最重点的是 我们已经可以插入文字,接下来就是解决如何调用发送这个功能了,找了一圈文档没找到,后来听了一遍 《流川枫与苍井空》豁然开朗,原来只要插入 @“\n” 就能调用 别人APP的
-(BOOL)textFieldShouldReturn:(UITextField*)textField
这个方法。
//发送
[self.textDocumentProxyinsertText:@"\n"];
接下来的刷屏就简单了,一个定时 一插一发 一发一插.....无穷尽也。
配上几个效果图:
end;
本人 课余喜欢研究 object pascal ,object c ,java,玩些 c# 。欢迎广大IT男加群 (367276878)互相学习
大家好我叫姬拉