新浪微博客户端(41)-切换表情键盘

DJComposeViewController.m

#pragma mark - 切换键盘
- (void)switchKeyboard {

    // textView.inputView 代表的就是键盘
    if (self.textView.inputView) { // 默认self.textView.inputView = nil, 为nil则代表默认为系统键盘
        self.textView.inputView = nil;
    } else {
        DJEmotionKeyboard *emotionKeyboard = [[DJEmotionKeyboard alloc] init];
        emotionKeyboard.width = self.view.width;
        emotionKeyboard.height = 216; // IOS 系统键盘高度一般都是216
        self.textView.inputView = emotionKeyboard;
    }

    // 先调用endEditing,再调用becomeFirstResponder才可造成键盘效果
    [self.textView endEditing:YES];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self.textView becomeFirstResponder];
    });

}

最终效果:

时间: 2024-11-02 23:32:33

新浪微博客户端(41)-切换表情键盘的相关文章

新浪微博客户端(43)-切换表情控件

DJEmotionKeyboard.m #import "DJEmotionKeyboard.h" #import "DJEmotionListView.h" #import "DJEmotionTabBar.h" #import "DJEmotion.h" #import "MJExtension.h" @interface DJEmotionKeyboard() <DJEmotionTabBarD

新浪微博客户端(42)-完善表情键盘的工具条

DJEmotionTabBar.m // // DJEmotionTabBar.m // 微博 // // Created by 海月高 on 16/11/26. // Copyright ? 2016年 yongdaimi. All rights reserved. // #import "DJEmotionTabBar.h" #import "DJEmotionTabBarButton.h" @interface DJEmotionTabBar() @prope

新浪微博客户端(45)-显示表情

DJEmotionListView.m - (void)setEmotions:(NSArray *)emotions { _emotions = emotions; // emotion 总个数 NSUInteger emotionCount = emotions.count; // 页码总个数 NSUInteger pageNums = (emotionCount + DJEmotionPageSize - 1) / DJEmotionPageSize; // 更新pageControl 显

新浪微博客户端(10)-切换多个fragment

ViewController.m #import "ViewController.h" #import "DJOneViewController.h" #import "DJTwoViewController.h" #import "DJThreeViewController.h" @interface ViewController () @property (nonatomic,strong) DJOneViewContro

android 新浪微博客户端的表情功能的实现

这是一篇好文章,我转来收藏,技术的最高境界是分享. 最近在搞android 新浪微博客户端,有一些心得分享弄android客户端表情功能可以用以下思路1.首页把新浪的表情下载到本地一文件夹种,表情图片的命名要用新浪微博表情原来的命名比如 新浪的害羞表情是shame.gif 那么你在本地也得命名为shame.gif,命名相同主要是为了能够匹配表情对应的code.2.把本地的表情都放进android的资源文件里----drawable下面3.访问新浪的表情接口(新浪返回的数据类型有json和xml两

iOS_仿QQ表情键盘

当UITextFiled和UITextView这种文本输入类控件成为第一响应者时,弹出的键盘由他们的一个UIView类的inputView属性来控制,当inputView为nil时会弹出系统的键盘,想要弹出自定义的键盘,将我们自定义的UIView对象给inputView属性赋值即可.表情键盘重点在于排列各个表情和删除键,以及表情键盘上的各种回调设置: 下面为键盘预览图,兼容了竖屏各版本适配,横屏没有兼顾.横屏适配参见这篇博客iOS之自定义表情键盘 图1为6的常用表情,图2为6的全部表情,图3为5

iOS开发之自定义表情键盘(组件封装与自动布局)

下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自定义表情键盘肿么这么麻烦?下面将会介绍我们如何用上面提到的东西来定义我们的表情键盘的.下面的内容会比较多,这篇博文还是比较有料的. 还是那句话写技术博客是少不了代码的,下面会结合代码来回顾一下iOS的知识,本篇博文中用到的知识点在前面的博客中都能找到相应的内容,本篇算是一个小小的功能整合.先来张图看

android开发新浪微博客户端 完整攻略 [新手必读]

开始接触学习android已经有3个礼拜了,一直都是对着android的sdk文档写Tutorials从Hello World到Notepad Tutorial算是初步入门了吧,刚好最近对微博感兴趣就打算开发个android版本的新浪微博客户端作为练手项目,并且以随笔的方式详细的记录开发的全过程.本人对java语言以及eclipse Ide都是初次应用基本上属于边学边用,做移动设备上的东西也是第一次,总的来说属于无基础.无经验.无天赋的纯三无人员,还请广大同学们多多给予指点. 开发第一件事情,那

【DATAGUARD】物理dg配置客户端无缝切换--Fast-Start Failover的配置

[DATAGUARD]物理dg配置客户端无缝切换--Fast-Start Failover的配置 一.2.2  实验环境介绍 项目 主库 dg库 db 类型 单实例 单实例 db version 11.2.0.3 11.2.0.3 db 存储 FS type FS type ORACLE_SID oradg11g oradgphy db_name oradg11g oradg11g 主机IP地址: 192.168.59.130 192.168.59.130 OS版本及kernel版本 RHEL6