- (IOS)计算UILabel上某段文字的frame
rightmost
-(CGRect)boundingRectForCharacterRange:(NSRange)range{NSTextStorage*textStorage=[[NSTextStoragealloc]initWithAttributedString:[selfattributedText]];NSLayoutManager*layoutManager=[[NSLayoutManageralloc
- TextKit官方文档阅读笔记
丶丶夏天
iOS中文本控件的底层是TextKit,它能够精细地排版与布局文本TextKit是对CoreText的封装(如下图),所以有同样的性能image.pngimage.png在TextKit中,NSTextStorage存储了显示在TextViews中的string,文本的布局是由NSLayoutManager来处理的,文本的布局区域由于NSTextContainer定义NSTextContainer
- Swift_富文本绘制以及Url的点击
走停2015_iOS开发
541AAB10-735B-49DA-8CC9-99E8020662E8.pngTextKit的核心对象属性文本存储privatelazyvartextStorage=NSTextStorage()负责文本字形布局1.绘制背景2.绘制Glyphs字形3.获取点中字符的索引privatelazyvarlayoutManager=NSLayoutManager()设定文本绘制的范围privatelaz
- TextKit 实现文本分页
XPorter
TextKit的一些介绍在这里就不多说了,相关的信息可以看这里。这篇文章主要讲文本分页和遇到的问题。TextKit中主要涉及的就三个类,实现分页也用到这是三个。NSTextStorageNSLayoutManagerNSTextContainer主要的思路就是:NSTextStorage存储要分段的文本信息NSTextStorage设置NSLayoutManager在NSLayoutManager
- 更新UITextView后,自动显示到最下面内容
跑调的安眠曲
有一次,项目需要打印日志到手机上,于是采用UITextView在作为显示组件,当日志不停打印,而需要查看最新的打印结果的时候,往往需要滚动UITextView到最下面。具体操作方法:1.设置了UITextView中的layoutManager(NSLayoutManager)的是否非连续布局属性,默认是YES,设置为NO后UITextView就不会再自己重置滑动了。_logView.layoutM
- NSTextContainer——文本容器
Laughingg
NSTextContainer类定义了一个文本排版的区域。一个NSLayoutManager使用NSTextContainer去决定在哪里换行,布局部分文本。等其他的东西。一个NSTextContainer通常定义了一个矩形区域。但是,你也可以定义一个排除路径,在文本容器之内去创建区域,文本不能在这个区域流动。你也可以子类化去创建非矩形区域的文本容器,例如一个圆形区域,区域中有一个洞,或者是一个图
- 天天品尝iOS7甜点 Day21:Multi-column TextKit text rendering
独木舟的木
使用TextKit框架创建多列布局的文字参考GitHub源码:shinobicontrols/iOS7-day-by-day天天品尝iOS7甜点::Day21::Multi-columnTextKittextrenderingTextKitDemo#import"SCViewController.h"@interfaceSCViewController(){NSLayoutManager*_lay
- iOS项目使用UITextView,赋值后内容不从最顶端显示解决
虚心学习的小伙子
iOS
上网搜索了一堆办法,还是行不通,觉得自己深入去了解UITextView的一些属性,从而找到了解决办法方法1:解决方法textView.layoutManager.allowsNonContiguousLayout=NO;这句代码设置了UITextView中的layoutManager(NSLayoutManager)的是否非连续布局属性,默认是YES,设置为NO后UITextView就不会再自己重
- XZ_Swift之TextKit类实现把文字变成别的颜色且可交互
Understand_XZ
Swift
TextKit类结构介绍TextKit是iOS7推出的,面向对象的文本处理框架;借用一张图来介绍一下:图中真正的引用关系是实线的引用,反方向的虚线是弱引用具体解读1>NSTextStorage负责存储属性文本;2>NSLayoutManager用来布局的,负责绘制3个方法:绘制字形、绘制背景(比如有些要设置底色的)、布局字形(知道用户点到哪里,点到第几个字符了);3>NSTextContainer
- iOS 开发 富文本详解之TextKit详解
上进求知,认真思辨
图文混排Swift2.0~4.2iOS开发
textkit结构textkit使用步骤#Mark-1.自定义label--classCZLabel:UILabel---四个属性//1.属性文本存储privatelazyvartextStorage=NSTextStorage()//2.负责文本字形布局对象privatelazyvarlayoutManager=NSLayoutManager()//3.设定文本绘制的范围privatelazyv
- ios-TextKit框架基础
rv0p111
ios-Swift
iOS7之后引入TextKit框架,能够很方便的可以通过方便的接口去修改文字的样式和排版,解决图文混排的问题。而在ios7之前解决起来都会比较的困难。TextKit中有三个比较重要的对象1、NSTextStorage,是NSMutableAttributedString的子类,专门用来存储文本的和管理控件的属性文本,NSTextStorage引用着NSLayoutManager,当NSTextSt
- UIKit框架 - TextKit
userName
一.TextKit架构TextKit架构.png看图就已经知道底层就是CoreText,苹果可能感觉CoreText比较难用,在iOS7时发布了TextKit.二.TextKit中重要的一些对象image.jpg图中主要表现NSTextContainer,NSLayoutManager,NSTextStorage之间的关系。TextView是用来显示文本内容的控件,主要包括UILabel、UITe
- NSTextStorage
Laughingg
NSTextStorage定义了TextKit最基本的存储机制。这个类是NSMutableAttributedString的半具体的子类(我特么也没看明白是啥子意思),并添加一组NSLayoutManager的管理行为。一个文本存储对象当字符或属性发生改变的时候会通知布局管理者,让布局管理者在需要的时候重新显示文本。概览NSTextSorage对象能够在任何线程进行存取。但是你必须保证在同一时间只
- UITextView文字多不绘制-[<_UITileLayer: 0x136fa97b0> display]: Ignoring bogus layer size
Gary_fei
self.content.layoutManager.allowsNonContiguousLayout=NO;self.content.text=[NSStringstringWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:nil];这句代码设置了UITextView中的layoutManager(NSLayoutManager
- NSTextStorage
随风流逝
//编辑类型,位移枚举typedefNS_OPTIONS(NSUInteger,NSTextStorageEditActions){NSTextStorageEditedAttributes=(1*layoutManagers;//为NSTextStorage添加一个NSLayoutManager;-(void)addLayoutManager:(NSLayoutManager*)aLayoutM
- 自定义UIPageControl、UITextView占位视图
且行且珍惜_iOS
一言不合先上效果图:效果预览.gif①、自定义的UIPageControl是继承于UIView,封装好的,可以设置图标大小,形状,图片,颜色,间隔,当然,需要的话,也可以自定义图标视图;详情请按快捷键Ctrl+B传送!②、创建有占位视图的UITextView,主要涉及NSTextStorage、NSLayoutManager、NSTextContainer、UIBezierPath几个类,主要代码
- Managers
奎章
概述管理器模式Managers提供一个统一的接口,用于管理和访问一组相关对象的实例化和访问,使得管理职责的变化独立于某个具体类。是管理其他实例类的管理者,某些场景也可以充当MVC中的C的角色。(其实是单利模式的扩展,就是自己mange自己,并且确保被管理者是唯一的)在Cocoa或者CocoaTouch中包括NSFileManager、NSInputManager、NSLayoutManager等类
- NSLayoutManager
Laughingg
@available(iOS7.0,*)文本布局方向publicenumNSTextLayoutOrientation:Int{casehorizontal//Linesrenderedhorizontally,growtoptobottomcasevertical//Linesrenderedvertically,growrighttoleft}@available(iOS7.0,*)publi
- UITextView.h
ShenYj
#pragma-mark@classUIFont,UIColor,UITextView,NSTextContainer,NSLayoutManager,NSTextStorage,NSTextAttachment;#pragma-mark-代理@protocolUITextViewDelegate@optional//是否能够开始编辑-(BOOL)textViewShouldBeginEditin
- textView 与textField
yf_js
TextKit学习(三)NSTextStorage,NSLayoutManager,NSTextContainer和UITextView解决NSTextContainer分页时文本截断问题iOS简易文本控件开发(UIKeyInput协议学习)textView//实例一原始:_textView.contentSize:{375,659}_textView.text=nil;做以下设置。展示结果1._
- [错误]Assertion failure in void _UIPerformResizeOfTextViewForTextContainer
敏敏的老公
出現原因:主線程postNotification,後將object賦值到textview.text出現的錯誤。錯誤信息:Assertionfailureinvoid_UIPerformResizeOfTextViewForTextContainer(NSLayoutManager,UIView,NSTextContainer,NSUInteger)(),/SourceCache/UIFoundat
- 【问题收集】UITextView 问题集合
小子爱搞事
1,输入内容时光标乱跳问题处理:textView.layoutManager.allowsNonContiguousLayout=NO;这句代码设置了UITextView中的layoutManager(NSLayoutManager)是否非连续布局属性,默认是YES,设置为NO后UITextView就不会再自己重置滑动了。2,判断输入内容长度时,中文联想输入法文本长度判断不准确问题Paste_Im
- NSLayoutManager
苒妈
首先介绍NSLayoutManager,属于UITextKit核心类。NSTextContainer。定义了文本可以排版的区域。默认情况下是矩形区域,如果是其他形状的区域,需要通过子类化NSTextContainer来创建。NSLayoutManager。该类负责对文字进行编辑排版处理,将存储在NSTextStorage中的数据转换为可以在视图控件中显示的文本内容,并把字符编码映射到对应的字形上,
- iOS 计算UILabel上某段文字的frame
位之先
-(CGRect)boundingRectForCharacterRange:(NSRange)range{NSTextStorage*textStorage=[[NSTextStoragealloc]initWithAttributedString:[selfattributedText]];NSLayoutManager*layoutManager=[[NSLayoutManageralloc
- IOS7 UITextView 中文输入法上下跳动问题。
gscc
解决方法textView.layoutManager.allowsNonContiguousLayout=NO;这句代码设置了UITextView中的layoutManager(NSLayoutManager)的是否非连续布局属性,默认是YES,设置为NO后UITextView就不会再自己重置滑动了。代码示例UITextView*textView=[UITextViewnew];textView.
- textview自动布局
彭OO
_infoLabel.layoutManager.allowsNonContiguousLayout=NO;//!<设置自适应布局个人理解@property(nonatomic,readonly)NSLayoutManager*layoutManagerNS_AVAILABLE_IOS(7_0);layoutManager为textview的属性,NSLayoutManager是iOS7新增的布局
- iOS Text
廖马儿
1.对text排版的framework,使用TextKit.显示单个字符也有frame,bounds,position,transform等属性的类,我们可以用CATextLayer.文本布局,我们用TextKit,它里面主要有三个类,NSTextStorage,NSLayoutManager,NSContainer.NSTextStorage:NSMutableAttributedString的
- iOS技术文档No.3 AppKit_NSLayoutManager
孤独雪域
iOS7.0之后的类,同样是对富文本的操作,但是再iOS9.0之后废弃了一些属性,所以建议有需求的人有时间的人好好搞一下这里还是贴上代码及原帖地址和demo链接图1.png这是使用UITextView时用到的iOS7新增加的类:NSTextContainer、NSLayoutManager、NSTextStorage及其相互关系:关系.png关系1.png这三个新出的类还没有在官方出独立的clas
- Text Kit
liboxiang
参考、有demo:https://www.objc.io/issues/5-ios7/getting-to-know-textkit/Snip20180524_2.png793272-ee22aaffcffc223e.pngSnip20180524_3.pngSnip20180524_1.pngNSTextContainer、NSLayoutManager、NSTextStorage及其相互关系:
- TextKit
Rui哥
原文参考一、基本的TextKit对象基本的TextKit对象NSTextStorage存储用于显示的文本。NSLayoutManager将NSTextStorage中存储的文本显示在NSTextContainer所指定的区域内。通常NSTextContainer定义文本显示的区域,通常是矩形区域,但是可以通过继承它而指定圆形、五边形等。NSTextContainer不仅定义了文本显示区域的轮廓,也
- 多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
- How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
- Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
- Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
- 浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
- 关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
- You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
- MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
- mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
- 自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
- threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
- activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
- 【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
- 【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
- Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
- java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
- 返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
- [科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
- 过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
- java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
- 网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
- mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
- MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
- base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
- JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
- apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
- java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
- 你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
- [一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
- Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源