首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发之微信聊天工具栏的封装

之前已经把微信的视图结构简单的拖了一下(iOS开发之微信山寨版),今天就开始给微信加上具体的实现功能,那么就先从微信的聊天界面开始吧。...今天博客中的所有代码都是脱离storyboard的,这些代码在别的工程中也是可以使用的。好,废话少说,切入今天的正题。 微信大家基本上都用过,今天要做的就是微信的聊天工具条。...在封装聊天工具条的的时候表情键盘是之前封装好的(请参考:“iOS开发之自定义表情键盘(组件封装与自动布局)”),所以拿过来就可以用的啦。...Controller中 13 typedef void (^MyTextBlock) (NSString *myText); 14 15 //录音时的音量 16 typedef void (^AudioVolumeBlock...1.为了更好的封装我们的组件,在.h中预留接口,在ToolView.m的延展中添加我们要使用的组件(私有属性),延展代码如下: 1 @interface ToolView() 2 //最左边发送语音的按钮

2.5K80

iOS文本布局探讨之三——使用TextKit框架进行富文本布局

iOS文本布局探讨之三——使用TextKit框架进行富文本布局 一、引言         关于图文混排,其实以前的博客已经讨论很多,在实际开发中,经常使用第三方的框架来完成排版的需求,其中RCLabel...iOS开发封装一个可以响应超链接的label——基于RCLabel的交互扩展:http://my.oschina.net/u/2340880/blog/550194。...CoreText是一个比较底层且十分强大的文本渲染框架,但是其使用起来并不是十分方便。在较低版本的iOS系统中,要进行富文本排版十分困难。...在iOS6中,系统为UILabel,UITextView等这类文本渲染控件引入了NSAttributedString属性,有了NSAttributedString这个类,创建灵活多彩的文本控件变得十分轻松...) NSFileWrapper *fileWrapper; 结合UITextView可以为NSAttributedString属性字符串添加超链接,在代码回调中监听此超链接的回调可以获取NSTextAttachment

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    富文本AttributedString的总结

    在使用中通过将AttributedString赋值给控件的 attributedText 属性来添加文字样式。 可设置的控件有UILabel、UITextField和UITextView。...NSVerticalGlyphFormAttributeName 设置文字排版方向 取值为NSNumber对象(整数),0表示横排文本,1表示竖排文本 在iOS中只支持0 */ NSString...之所以把 NSLinkAttributeName 属性单独列出来,是因为在 UILabel 和 UITextField 中是无法使用该属性的。...更准确点说是在UILabel 和 UITextField 中无法实现点击链接启动浏览器打开一个URL地址,因为在此过程中用到了一个代理函数。只能用在 UITextView 中。...在模拟器环境下一直无法点击,在真机上是正常的,不知道是不是模拟器不支持。 OC代码 原文地址

    3.4K20

    iOS文本布局探讨之一——文本布局框架TextKit浅析

    iOS文本布局探讨之一——文本布局框架TextKit浅析 一、引言         在iOS开发中,处理文本的视图控件主要有4中,UILabel,UITextField,UITextView和UIWebView...TextKit是一个偏上层的开发框架,在iOS7以上可用,使用它开发者可以方便灵活处理复杂的文本布局,满足开发中对文本布局的各种复杂需求。...TextKit实际上是基于CoreText的一个上层框架,其是面向对象的,如果TextKit中提供的API无法满足需求,可以使用CoreText中的API进行更底层的开发。        ...官方文档中的一张图片很确切,经常会被用来描述TextKit框架在iOS系统文本渲染中所处的位置。 ?...在TextKit框架中,提供了几个类分别对应处理上述的必要条件: 1.NSTextStorage对应要渲染展示的内容。 2.UITextView对应要渲染的视图。

    1.9K10

    史上最全的iOS之UITextView实现placeHolder占位文字的N种方法

    前言 iOS开发中,UITextField和UITextView是最常用的文本接受类和文本展示类的控件。UITextField和UITextView都输入文本,也都可以监听文本的改变。...从这个角度,UITextView在功能上是优于UITextField的。...可是,UITextView就没那么幸运了,apple没有给UITextView提供一个类似于placeholder这样的属性来供开发者使用。...而开发中,我们经常会遇到既要占位文字,又要可以多行展示并且可以滚动的控件,单纯的UITextField或者UITextView都不能满足这种产品上的需求。...; } - (void)setText:(NSString *)text { [super setText:text]; if (text.length) { // 因为是在文本改变的代理方法中判断是否显示

    10.7K40

    iOS——配适深色模式

    适配深色模式 苹果在iOS13中为iPhone引入了深色模式。那作为成为iOS程序员的我们也有事情做了,就是适配深色模式。...首先,所有 UIKit 本身所提供的 UI 控件(例如 UIView,UILabel,UITextView等等) ,只要没有针对颜色等内容特殊设置过,都会自动适配深色模式,这部分是我们开发者不需要去关心的...颜色 在iOS13以后,UIKit给我们提供了很多的动态颜色,以system开头的都是动态颜色,当我们给 UI 控件设置了动态颜色以后。 UI 控件就会自动的根据当前是否是黑暗模式展现出来对应的颜色。...比如这样写: self.view.backgroundColor = [UIColor systemRedColor]; (滑动显示更多) 当然,系统提供的这些动态颜色肯定是无法满足我们的实际开发需求,...在 iOS 13 中, UIKit 为 UIColor 所提供的 新 API 来创建我们自己的动态颜色。

    1.6K10

    iOS隐私安全:用户协议及隐私政策弹框(包含超链接属性、demo支持中英文切换)

    登录界面弹用户协议及隐私政策时,如果用户点击不同意,不能停留在弹框界面,需要隐藏弹框,否则无法通过OPPO安卓应用市场。...《用户协议及隐私政策》 弹框的实现步骤: 1、自定义TextView,采用富文本属性进行内容设置attributedText(包括下划线NSUnderlineStyleSingle、超链接NSLinkAttributeName...、颜色NSForegroundColorAttributeName 等信息) 2、实现代理方法textView:shouldInteractWithURL:inRange,处理点击超链接的回调(打开对应...我们希望通过本"; "then_click_Agree" = " ,希望您仔细阅读,充分理解协议中的内容后再点击同意。"...addAttribute:NSForegroundColorAttributeName value:HWColor(6, 53, 253) range:str4Range]; 1.2 实现代理方法 处理点击超链接的回调

    2.2K30

    在 SwiftUI 视图中打开 URL 的若干方法

    image-20220520182722773 SwiftUI 1.0( iOS 13、Catalina ) 在视图中,开发者通常需要处理两种不同的打开 URL 的情况: 点击一个按钮( 或类似的部件...SwiftUI 2.0( iOS 14、Big sur ) SwiftUI 2.0 为第一个场景提供了相当完美的原生方案,但仍无法通过原生的方式来处理第二种场景。...-20220520141225595 此种方法只能识别网络地址( 网页地址、邮件地址等 ),因此代码中的电话号码无法自动识别。...请注意,下面的代码使用的是参数类型为 String 的构造器,因此 Text 将无法自动识别内容中的 URL : let text = "www.wikipedia.org 13900000000 feedback...NSDataDetector[5] 是 NSRegularExpression 的子类,它可以检测自然语言文本中的半结构化信息,如日期、地址、链接、电话号码、交通信息等内容,它被广泛应用于苹果提供的各种系统应用中

    7.8K31

    iOS表情键盘的完整实现

    在iOS11上,UITextView上的NSTextAttachment(表情)默认可以进行拖拽交互,但是却导致拖动光标时很容易触发这个交互(图示可以查看上面说到的微博国际版中的误触)。...if (@available(iOS 11.0, *)) { // 只在iOS11及以上才有这个属性 _textView.textDragInteraction.enabled = NO;...表情功能,UITextView都是用NSAttributedString进行赋值的,并且我们底层其实还是用上面说到的纯文本进行实现的,那么把 [笑死] 转成 ?...这里自己继承并实现了UITextView的子类PPStickerTextView,在这个类中重载复制、黏贴、剪切等操作,分别对应的方法如下: - (void)cut:(id)sender; //...将检测到是表情的文本替换成对应的图片 [attributeContent replaceCharactersInRange:self.selectedRange withString:@

    2K30

    什么是无障碍适配?

    百度百科定义:无障碍,在发展过程中没有阻碍,活动能够顺利进行。...每次切换焦点,手机都会语音播报当前焦点的类型和内容。你可以去手机的设置中搜索“读屏”、“无障碍”、“屏幕朗读”等关键词,开启这一辅助功能,体验一下。...下面是我个人罗列了一些常用操作:常用表现 安卓 Talk Back iOS Voice...(例如选择链接,则以上3个操作只会激活页面的链接,不会激活其它类型元素)不支持(部分软件向上滑动、向下滑动来选择) 转子操作,即双指在屏幕上一起顺/逆指针旋转 播放所激活元素的子元素(例如按单词播报元素文本...我们做无障碍测试时,经常遇到Android和iOS播报有差异。我们要求必须兼容iOS的语音播报,不会花太多心思去兼顾所有安卓机的语音播报软件。

    3.1K73

    音视频技术开发周刊 | 246

    iOS AVDemo(13):视频渲染,用 Metal 渲染丨音视频工程示例 在音视频工程示例这个栏目,我们将通过拆解采集 → 编码 → 封装 → 解封装 → 解码 → 渲染流程并实现 Demo 来向大家介绍如何在...iOS/Android 平台上手音视频开发。...西瓜视频 iOS Voice Over 无障碍适配实践 本文从研发的视角出发,讲述了如何使用 Voice Over、如何适配 Voice Over 以及适配过程中如果遇到问题应该如何解决。...实战:使用 PyTorch 和 OpenCV 实现实时目标检测系统 在本指南中,我们将尝试向您展示如何开发用于简单对象检测应用程序的子系统,以及如何将所有这些组合在一起。...还有多重抽奖福利,扫描海报二维码或下方报名链接立即报名!

    1.3K20

    金融语音音频处理学术速递

    本文研究了目标声音检测(TSD),其目的是在给定目标声音的参考音频时,从混合音频中检测目标声音信号。我们提出了一种新型的目标声音检测网络(TSDNet),它由两个主要部分组成:条件和检测网络。...最近的研究表明,与模块化系统相比,端到端(E2E)多说话人ASR模型可以实现更高的识别精度。但是,由于这些模型依赖于完整的音频上下文,因此无法确保实时适用性。...最近的研究表明,与模块化系统相比,端到端(E2E)多说话人ASR模型可以实现更高的识别精度。但是,由于这些模型依赖于完整的音频上下文,因此无法确保实时适用性。...将该分离应用于从传统基频检测方法中提取的候选信号的校正,从而提高了F0估计的精度。在CSTR和TIMIT数据库的实验中,考虑了不同信噪比下的六种噪声,对所提出的方法进行了评估。...本文研究了目标声音检测(TSD),其目的是在给定目标声音的参考音频时,从混合音频中检测目标声音信号。我们提出了一种新型的目标声音检测网络(TSDNet),它由两个主要部分组成:条件和检测网络。

    35430
    领券