- ios加载html富文本编辑器,IOS - 富文本解决方案(上)
Mr.括号
ios加载html富文本编辑器
概述针对富文本来说,一直都是移动端的痛。虽然网上的解决方案很多,但是大多数都是基于展示,真正可以进行编辑的,却很少。而这些少数的实现中,适合我使用就没有了。所以我决定自己研究,并实现。需求需求说起来很简单,就是要设计一款IOS、Androd、PC端通用的富文本编辑器。模仿新浪微博中-头条文章。调研经过多次的分析和调研,有过这么几套方案。使用UIWebView来实现使用内嵌js编辑器实现使用html
- iOS Native与JS通信:JSBridge
ilycyq
iosjavascript开发语言cocoaobjective-cxcode前端
文章目录一、简介二、JS调用Native1.使用URLSchemea.UIWebViewb.WKWebView2.使用JavaScriptCore(iOS7+)3.使用WKWebView和WKScriptMessageHandler(iOS8+)三、Native调用JS1.使用UIWebView2.使用WKWebView3.使用JavaScriptCore(iOS7+)一、简介对于移动应用程序的开
- UIWebView的Cookie 管理
Rui哥
参考文章UIWebView的Cookie管理Cookie简介说到Cookie,或许有些小伙伴会比较陌生,有些小伙伴会比较熟悉。如果项目中,所有页面都是纯原生来实现的话,一般Cookie这个东西或许我们永远也不会接触到。但是,这里还是要说一下Cookie,因为它真的很重要,由它产生的一些坑也很多。Cookie在Web利用的最多的地方,是用来记录各种状态。比如你在Safari中打开百度,然后登陆自己的
- iOS 一个简单的基于WKWebView的进度导航
雪_晟
前言iOS8之后出现了WKWebView,占用内存少,通过WebKit可以和js交互。最重要是可以监测网页加载的进度,之前用UIWebView做的进度条都假象。代码WebKit中WebView交互被细化了,主要分为WKNavigationDelegate,WKUIDelegate,WKWebViewConfiguration。WKNavigationDelegate主要处理网页导航的一些协议。WK
- iOS 可用命令集
1、遍历工程是否包含xxx(例UIWebView)(用于ITMS-90809:DeprecatedAPIUsage)cd工程目录grep-RUIWebView2、pod命令>当需要在CocoaPods中删除一个我们不要的库时可以在Podfile中直接删除相关库>>再cd到项目目录执行podupdate--verbose--no-repo-update或者podinstall--verbose--n
- UIWebView加载HTML标签
倪大头
遵循UIWebViewDelegate协议,在代理方法里获取内容整体高度,调整webview的frameNSString*htmlStr="";UIWebView*webView=[[UIWebViewalloc]initWithFrame:CGRectMake(kScaleX*15,0,kScaleX*345,10)];webView.delegate=self;webView.userInte
- ios uiwebview视频页面 no compatable source was found for this media
playboy
Android和浏览器上能够正常显示的视频播放页面,在iOS的UIWebView上,显示nocompatablesourcewasfoundforthismedia经后端同事查询后,发现是虽然该页面是https协议的请求,但是在页面的代码中有http请求。因此导致iOS上访问异常,都改成https请求,就ok了。
- H5与iOS交互
NewChapter °
-(void)webViewDidFinishLoad:(UIWebView*)webView{//js方法名+参数NSString*jsCode=[NSStringstringWithFormat:@"report('%@')",self.jsStr];//调用html页面的js方法[webViewstringByEvaluatingJavaScriptFromString:jsCode];}资
- 使用真机调试首次加载UIWebView忽然报错
reviewThis
最近使用真机调试加载UIWebView的时候忽然报错,令人费解。报错如下:validateFunctionArguments:2819:failedassertion`MTLPixelFormatoftexture[(MTLPixelFormatRGBA16Unorm)]boundatindex0isincompatiblewithtextureparameter[MTLDataTypeHalft
- ios 禁止UIWebView上下滑动的效果
aewmc268204
移动开发
具体代码的实现:for(idsubviewinwebview.subviews){if([[subviewclass]isSubclassOfClass:[UIScrollViewclass]]){((UIScrollView*)subview).bounces=NO;}//AfteriOS5webview.scrollView.bounces=NO;}转载于:https://www.cnblog
- ITMS-90809: Deprecated API Usage UIWebView
malgee
ITMS-90809:DeprecatedAPIUsage-NewappsthatuseUIWebViewarenolongeraccepted.Instead,useWKWebViewforimprovedsecurityandreliability.Learnmore(https://developer.apple.com/documentation/uikit/uiwebview).全局搜索
- 关于Cordova的CDVViewController加载web页面放大缩小
柠檬檬檬檬檬不萌
UIwebView缩放首先就是需要让webView去设置下可以支持缩放[__webViewsetScalesPageToFit:YES];如果网页支持缩放只需要上面的一句就可以了。你可以加在谷歌的试一下,但是你要加在百度就就不行了,因为百度没有在网页支持缩放,这个时候就需要下面一段代码了,在webView加载完之后去添加一段代码。(以上说的都是在safari浏览器里面)。-(void)webVie
- 开发手札:记录跟踪ios上架问题
羊羊2035
开发手札
事情是这样的,业余时间开发了几个app(三个游戏一个软件),因为apple政策收紧的原因,游戏是不考虑上架了,除非我做一个不错的先在steam得到好评再说,所以只考虑上架那个图形工具app,上架流程就和以前上架一样,xcodebuildarchive签名后uploadtoapplestoreconnect。这里unity+xcode又出了个幺蛾子,那就是uiwebview的问题,在ios13之后u
- iOS去除WebViewJavascriptBridge.h和WebViewJavascriptBridge.m
aggie1024
转自:https://www.jianshu.com/p/a137a85b5872ios13苹果对UIWebView不再支持;请采用WKWebViewUIKIT_EXTERNAPI_DEPRECATED("Nolongersupported;pleaseadoptWKWebView.",ios(2.0,12.0))API_UNAVAILABLE(tvos,macos)@interfaceUIWeb
- 第三方库 IQKeyboardManager使用之整理
weixin_33716941
IQKeyboardManager是iOS中解决键盘弹起遮挡UITextField/UITextView的一种很实用的工具。之前我一直是添加手势去收起键盘或者令视图退出编辑状态,现在使用这个则无需输入任何代码,不需要额外的设置。这个库默认支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView.使用IQ
- 搜索项目内容
伏伏
grep-rXX.cd到文件夹里可以去搜索内容记得加后面那个.今天看到文章,苹果审核后面UIWebView不在过审,所以要全部替换。但是有些第三方的sdk,在项目里搜索是搜不到的,所以要用这个。
- uiwebview内嵌视频无法播放
前尘梦醒
UIWebView播放video标签的视频时,有时候加载很慢,有时候需要点击两次才播放,由于苹果的安全策略问题,禁用了JavaScript中video的autoplay。所以通过javascript调用video.play()的时候,如果不是在onclick或者ontouch事件中调用的video.play(),那么播放将无效。解决办法:webView.mediaPlaybackRequiresU
- UIWebView 适应屏幕
瘦柳山人
1.由于webView是UIscrollview的子类可以使用scrollview的zoom属性-(void)webViewDidFinishLoad:(UIWebView*)theWebView{CGSizecontentSize=theWebView.scrollView.contentSize;CGSizeviewSize=self.view.bounds.size;floatrw=view
- WKWebView获取UA以及更改UA的坑
地上的
最近有webView的相关需求,需要更改UA来适应我们的前端,但是又得保留原本的UA,所以不能直接覆盖,得追加字段,这个过程中WKWebView坑就比较多,列数一下。UIWebView更改UAUIWebView*webview=[[UIWebViewalloc]initWithFrame:CGRectZero];NSString*ua=[webviewstringByEvaluatingJavaS
- iOS 文件预览的四种方法
6ffd6634d577
前言开发中可能会遇到文件操作的需求,其中包括PDF文档的预览、图片、doc文档转换成PDF文档、第三方应用导入文件置自己应用中、PDF文档的批注与修改。这篇文章我会先记录预览本地或网络的文件(word、Excel、pdf、txt)等。文档预览的几种方式UIWebView/WKWebViewQLPreviewControllerUIDocumentInteractionControllerCGCon
- GRMustache
一代骄马
我们将html文件读取到内存中,在使用GRMustache的方法生成渲染后的HTML内容,就可以通过UIWebview加载HTML内容了
- React-native 项目升级Xcode 11全记录
louyong0571
RNxcode
React-native项目升级Xcode11全记录react-native版本$react-native--versionreact-native-cli:2.0.1react-native:0.57.7版本比较早的项目,最近提交Appstore出现warning1.升级iossdk到132.包含UIWebview不改掉的话4月以后可能就会被拒了。没办法,作为一个android出身的转行RN的苦
- iOS-WKWebView 解读备注
MR_詹
原文一、WKWebView简介UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView。通过简单的测试即可发现UIWebView占用过多内存,且内存峰值更是夸张。WKWebView网页加载速度也有提升,但是并不像内存那样提升那么多。下面列举一些其它的优势:1、更多的支持HTML5的特性2、官方宣称的高达60fps的滚动刷新率以
- UIWebView动态展示gif gif图不适应控件大小
精神薇
CGRectframe=CGRectMake(0,[[UIApplicationsharedApplication]statusBarFrame].size.height+44,350,350);//view生成UIWebView*webView=[[UIWebViewalloc]initWithFrame:frame];webView.backgroundColor=[UIColorredCol
- 检查项目中是否包含UIWebView
Kdq
最近公司要创建一个新的APP,提交APPStore审核,提交审核的时候苹果提示如下DearDeveloper,Weidentifiedoneormoreissueswitharecentdeliveryforyourapp,"xxxxPleasecorrectthefollowingissues,thenuploadagain.ITMS-90809:DeprecatedAPIUsage-Newap
- UIWebView更换WKWebView
Hyman_luo
一、加载方式1.-(void)loadRequest:(NSURLRequest*)request;可以请求本地文件也可以请求网络资源NSURL*fileURL=[[NSBundlemainBundle]URLForResource:@"test.html"withExtension:nil];//fileURL=[NSURLURLWithString:@"https://www.baidu.co
- iOS UILabel复制粘贴效果
BeTheBestOne
个人总结iOS技术ios控件复制粘贴自定义菜单项
在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、UITextField3、UIWebViewUIKitframework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能。1、UIPasteboard:我们可以向其中写入数据,也可以读取数据。UIPasteboard类提供了粘贴板的接口。粘贴板是用于在一个应用程序内或不同应用程序间进行数据共享的受保护区域。该
- CordVoa下WKWebView的UserAgent问题
kakao6
1.重构项目背景cordVoaWKWebView替换UIWebView沟通的重要性1.历时8天的解决bug的坑逼日程1.接到一个任务,说在WKWebView替换UIwebview过程中,decidePolicyForNavigationAction拦截url时,URL有些内容会丢失。比如abs:XX//a=1&b=2,正常情况是abs是可以拦截到的,但是WK加载相同的界面,abs有时侯会加载出来,
- App Store Connect 上构建的新版本上传后找不到,二进制文件无效
时光不染
#iOSUnityiosxcodeappstore
上传了新版本,收到信息二进制文件无效。但是在AppStoreConnect看不到,并且未收到提示邮件。这是我收到的仅有的提示信息二进制文件无效可能的原因:一.项目中使用了系统某些权限(相机,相册,麦克风等),但是在info.plist中没有添加二.使用私有API或IDFA三.scheme设置四.app图标修改相关五.UIWebView等废弃API一.项目中使用了系统某些权限(相机,相册,麦克风等)
- 从UIWebView到WKWebView替换历程(关于Js复杂交互)(二)
LiuffSunny
如果项目中没有与复杂的Js交互,那么就不用经历下面这个相对复杂的探索过程了.之前用webView与js交互-(void)webViewDidFinishLoad:(UIWebView*)webView{//设置javaScriptContext上下文self.jsContext=[webViewvalueForKeyPath:@"documentView.webView.mainFrame.jav
- 对股票分析时要注意哪些主要因素?
会飞的奇葩猪
股票 分析 云掌股吧
众所周知,对散户投资者来说,股票技术分析是应战股市的核心武器,想学好股票的技术分析一定要知道哪些是重点学习的,其实非常简单,我们只要记住三个要素:成交量、价格趋势、振荡指标。
一、成交量
大盘的成交量状态。成交量大说明市场的获利机会较多,成交量小说明市场的获利机会较少。当沪市的成交量超过150亿时是强市市场状态,运用技术找综合买点较准;
- 【Scala十八】视图界定与上下文界定
bit1129
scala
Context Bound,上下文界定,是Scala为隐式参数引入的一种语法糖,使得隐式转换的编码更加简洁。
隐式参数
首先引入一个泛型函数max,用于取a和b的最大值
def max[T](a: T, b: T) = {
if (a > b) a else b
}
因为T是未知类型,只有运行时才会代入真正的类型,因此调用a >
- C语言的分支——Object-C程序设计阅读有感
darkblue086
applec框架cocoa
自从1972年贝尔实验室Dennis Ritchie开发了C语言,C语言已经有了很多版本和实现,从Borland到microsoft还是GNU、Apple都提供了不同时代的多种选择,我们知道C语言是基于Thompson开发的B语言的,Object-C是以SmallTalk-80为基础的。和C++不同的是,Object C并不是C的超集,因为有很多特性与C是不同的。
Object-C程序设计这本书
- 去除浏览器对表单值的记忆
周凡杨
html记忆autocompleteform浏览
&n
- java的树形通讯录
g21121
java
最近用到企业通讯录,虽然以前也开发过,但是用的是jsf,拼成的树形,及其笨重和难维护。后来就想到直接生成json格式字符串,页面上也好展现。
// 首先取出每个部门的联系人
for (int i = 0; i < depList.size(); i++) {
List<Contacts> list = getContactList(depList.get(i
- Nginx安装部署
510888780
nginxlinux
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源
- java servelet异步处理请求
墙头上一根草
java异步返回servlet
servlet3.0以后支持异步处理请求,具体是使用AsyncContext ,包装httpservletRequest以及httpservletResponse具有异步的功能,
final AsyncContext ac = request.startAsync(request, response);
ac.s
- 我的spring学习笔记8-Spring中Bean的实例化
aijuans
Spring 3
在Spring中要实例化一个Bean有几种方法:
1、最常用的(普通方法)
<bean id="myBean" class="www.6e6.org.MyBean" />
使用这样方法,按Spring就会使用Bean的默认构造方法,也就是把没有参数的构造方法来建立Bean实例。
(有构造方法的下个文细说)
2、还
- 为Mysql创建最优的索引
annan211
mysql索引
索引对于良好的性能非常关键,尤其是当数据规模越来越大的时候,索引的对性能的影响越发重要。
索引经常会被误解甚至忽略,而且经常被糟糕的设计。
索引优化应该是对查询性能优化最有效的手段了,索引能够轻易将查询性能提高几个数量级,最优的索引会比
较好的索引性能要好2个数量级。
1 索引的类型
(1) B-Tree
不出意外,这里提到的索引都是指 B-
- 日期函数
百合不是茶
oraclesql日期函数查询
ORACLE日期时间函数大全
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
- 线程优先级
bijian1013
javathread多线程java多线程
多线程运行时需要定义线程运行的先后顺序。
线程优先级是用数字表示,数字越大线程优先级越高,取值在1到10,默认优先级为5。
实例:
package com.bijian.study;
/**
* 因为在代码段当中把线程B的优先级设置高于线程A,所以运行结果先执行线程B的run()方法后再执行线程A的run()方法
* 但在实际中,JAVA的优先级不准,强烈不建议用此方法来控制执
- 适配器模式和代理模式的区别
bijian1013
java设计模式
一.简介 适配器模式:适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。 &nbs
- 【持久化框架MyBatis3三】MyBatis3 SQL映射配置文件
bit1129
Mybatis3
SQL映射配置文件一方面类似于Hibernate的映射配置文件,通过定义实体与关系表的列之间的对应关系。另一方面使用<select>,<insert>,<delete>,<update>元素定义增删改查的SQL语句,
这些元素包含三方面内容
1. 要执行的SQL语句
2. SQL语句的入参,比如查询条件
3. SQL语句的返回结果
- oracle大数据表复制备份个人经验
bitcarter
oracle大表备份大表数据复制
前提:
数据库仓库A(就拿oracle11g为例)中有两个用户user1和user2,现在有user1中有表ldm_table1,且表ldm_table1有数据5千万以上,ldm_table1中的数据是从其他库B(数据源)中抽取过来的,前期业务理解不够或者需求有变,数据有变动需要重新从B中抽取数据到A库表ldm_table1中。
- HTTP加速器varnish安装小记
ronin47
http varnish 加速
上午共享的那个varnish安装手册,个人看了下,有点不知所云,好吧~看来还是先安装玩玩!
苦逼公司服务器没法连外网,不能用什么wget或yum命令直接下载安装,每每看到别人博客贴出的在线安装代码时,总有一股羡慕嫉妒“恨”冒了出来。。。好吧,既然没法上外网,那只能麻烦点通过下载源码来编译安装了!
Varnish 3.0.4下载地址: http://repo.varnish-cache.org/
- java-73-输入一个字符串,输出该字符串中对称的子字符串的最大长度
bylijinnan
java
public class LongestSymmtricalLength {
/*
* Q75题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。
* 比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
*/
public static void main(String[] args) {
Str
- 学习编程的一点感想
Cb123456
编程感想Gis
写点感想,总结一些,也顺便激励一些自己.现在就是复习阶段,也做做项目.
本专业是GIS专业,当初觉得本专业太水,靠这个会活不下去的,所以就报了培训班。学习的时候,进入状态很慢,而且当初进去的时候,已经上到Java高级阶段了,所以.....,呵呵,之后有点感觉了,不过,还是不好好写代码,还眼高手低的,有
- [能源与安全]美国与中国
comsci
能源
现在有一个局面:地球上的石油只剩下N桶,这些油只够让中国和美国这两个国家中的一个顺利过渡到宇宙时代,但是如果这两个国家为争夺这些石油而发生战争,其结果是两个国家都无法平稳过渡到宇宙时代。。。。而且在战争中,剩下的石油也会被快速消耗在战争中,结果是两败俱伤。。。
在这个大
- SEMI-JOIN执行计划突然变成HASH JOIN了 的原因分析
cwqcwqmax9
oracle
甲说:
A B两个表总数据量都很大,在百万以上。
idx1 idx2字段表示是索引字段
A B 两表上都有
col1字段表示普通字段
select xxx from A
where A.idx1 between mmm and nnn
and exists (select 1 from B where B.idx2 =
- SpringMVC-ajax返回值乱码解决方案
dashuaifu
AjaxspringMVCresponse中文乱码
SpringMVC-ajax返回值乱码解决方案
一:(自己总结,测试过可行)
ajax返回如果含有中文汉字,则使用:(如下例:)
@RequestMapping(value="/xxx.do") public @ResponseBody void getPunishReasonB
- Linux系统中查看日志的常用命令
dcj3sjt126com
OS
因为在日常的工作中,出问题的时候查看日志是每个管理员的习惯,作为初学者,为了以后的需要,我今天将下面这些查看命令共享给各位
cat
tail -f
日 志 文 件 说 明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信
- [应用结构]应用
dcj3sjt126com
PHPyii2
应用主体
应用主体是管理 Yii 应用系统整体结构和生命周期的对象。 每个Yii应用系统只能包含一个应用主体,应用主体在 入口脚本中创建并能通过表达式 \Yii::$app 全局范围内访问。
补充: 当我们说"一个应用",它可能是一个应用主体对象,也可能是一个应用系统,是根据上下文来决定[译:中文为避免歧义,Application翻译为应
- assertThat用法
eksliang
JUnitassertThat
junit4.0 assertThat用法
一般匹配符1、assertThat( testedNumber, allOf( greaterThan(8), lessThan(16) ) );
注释: allOf匹配符表明如果接下来的所有条件必须都成立测试才通过,相当于“与”(&&)
2、assertThat( testedNumber, anyOf( g
- android点滴2
gundumw100
应用服务器android网络应用OSHTC
如何让Drawable绕着中心旋转?
Animation a = new RotateAnimation(0.0f, 360.0f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);
a.setRepeatCount(-1);
a.setDuration(1000);
如何控制Andro
- 超简洁的CSS下拉菜单
ini
htmlWeb工作html5css
效果体验:http://hovertree.com/texiao/css/3.htmHTML文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>简洁的HTML+CSS下拉菜单-HoverTree</title>
- kafka consumer防止数据丢失
kane_xie
kafkaoffset commit
kafka最初是被LinkedIn设计用来处理log的分布式消息系统,因此它的着眼点不在数据的安全性(log偶尔丢几条无所谓),换句话说kafka并不能完全保证数据不丢失。
尽管kafka官网声称能够保证at-least-once,但如果consumer进程数小于partition_num,这个结论不一定成立。
考虑这样一个case,partiton_num=2
- @Repository、@Service、@Controller 和 @Component
mhtbbx
DAOspringbeanprototype
@Repository、@Service、@Controller 和 @Component 将类标识为Bean
Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类
- java 多线程高并发读写控制 误区
qifeifei
java thread
先看一下下面的错误代码,对写加了synchronized控制,保证了写的安全,但是问题在哪里呢?
public class testTh7 {
private String data;
public String read(){
System.out.println(Thread.currentThread().getName() + "read data "
- mongodb replica set(副本集)设置步骤
tcrct
javamongodb
网上已经有一大堆的设置步骤的了,根据我遇到的问题,整理一下,如下:
首先先去下载一个mongodb最新版,目前最新版应该是2.6
cd /usr/local/bin
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tgz
tar -zxvf mongodb-linux-x86_64-2.6.0.t
- rust学习笔记
wudixiaotie
学习笔记
1.rust里绑定变量是let,默认绑定了的变量是不可更改的,所以如果想让变量可变就要加上mut。
let x = 1; let mut y = 2;
2.match 相当于erlang中的case,但是case的每一项后都是分号,但是rust的match却是逗号。
3.match 的每一项最后都要加逗号,但是最后一项不加也不会报错,所有结尾加逗号的用法都是类似。
4.每个语句结尾都要加分