Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产成人精品日本,国产在线视频网,国产成人综合亚洲绿色

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          原 薦 iOS中支持HTML文本的標簽控件-MDHT

          原 薦 iOS中支持HTML文本的標簽控件-MDHTMLLabel

          OS中支持HTML文本的標簽控件——MDHTMLLabel

          一、引言

          在iOS開發中對HTML的處理很多時候除了使用WebView外,還需要原生的控件對其進行渲染,例如將HTML字符串渲染為圖文混排的View視圖。Git上有很多輕量級的HTML渲染框架,列舉一些如下:

          RTLabel:基于UIView的HTML文本渲染控件,git地址:https://github.com/honcheng/RTLabel。

          RCLabel:與RTLabel思路相同,基于RCLabel之上,也是UIView的子類,支持了對HTML中的本地圖片標簽進行渲染。git地址:https://github.com/Janak-Nirmal/RichContentLabel。

          MDHTMLLabel:與RTLabel和RCLabel不同的是,其是UILabel的子類,更加輕量級,不能支持圖片標簽。git地址:https://github.com/mattdonnelly/MDHTMLLabel。

          關于RCLabel對圖片便簽的支持,其只能支持本地的圖片,不能支持遠程URL圖片鏈接,這在開發中將十分局限,以前我曾加RCLabel做了改造,加了支持遠程圖片URL的方法,我把它集成在了一個基礎框架中,需要的伙伴可以參考下,git地址:https://github.com/ZYHshao/YHBaseFoundationTest。配套的講解博客地址如下:http://my.oschina.net/u/2340880/blog/499311。

          本篇博客主要討論MDHTMLLabel的使用。

          二、MDHTMLLabel的創建與設置

          MDHTMLLabel框架十分小巧,其中只有兩個文件,總計2000余行代碼。通過HTML字符串來創建一個MDHTMLLabel控件示例代碼如下:

              NSString * kDemoText=@"<a >MDHTMLLabel</a> is a lightweight, easy to use replacement for <b>UILabel</b> which allows you to fully <font face='Didot-Italic' size='19'>customize</font> the appearence of the text using HTML (with a few added features thanks to <b>CoreText</b>), as well letting you handle whenever a user taps or holds down on link and automatically detects ones not wrapped in anchor tags/>";
              MDHTMLLabel *htmlLabel=[[MDHTMLLabel alloc] initWithFrame:self.view.frame];
              htmlLabel.numberOfLines=0;
              htmlLabel.htmlText=kDemoText;
              [self.view addSubview:htmlLabel];

          效果如下圖所示:

          MDHTMLLabel中可以設置的一些屬性解析如下:

          //設置超鏈接文字的屬性字典 和設置AttributeString方法一致
          @property (nonatomic, strong) NSDictionary *linkAttributes;
          //設置超鏈接文字激活時的屬性字典
          @property (nonatomic, strong) NSDictionary *activeLinkAttributes;
          //設置超鏈接非激活時的屬性字典
          @property (nonatomic, strong) NSDictionary *inactiveLinkAttributes;
          //設置超鏈接文字觸發長按事件的最小按下時間
          @property (nonatomic, assign) NSTimeInterval minimumPressDuration;
          //設置label文件陰影的模糊半徑
          @property (nonatomic, assign) CGFloat shadowRadius;
          //設置label在高亮狀態下的文字模糊半徑 注:非高亮狀態的由原生UILabel的屬性設置
          @property (nonatomic, assign) CGFloat highlightedShadowRadius;
          //設置label在高亮狀態下的文字陰影偏移 注:非高亮狀態的由原生UILabel的屬性設置
          @property (nonatomic, assign) CGSize highlightedShadowOffset;
          //設置在label高亮狀態下的文字陰影顏色 注:非高亮狀態的由原生UILabel的屬性設置
          @property (nonatomic, strong) UIColor *highlightedShadowColor;
          //設置首行文字的縮進距離
          @property (nonatomic, assign) CGFloat firstLineIndent;
          //設置文字的行間距
          @property (nonatomic, assign) CGFloat leading;
          //設置行高的倍數
          @property (nonatomic, assign) CGFloat lineHeightMultiple;
          //設置文字內容的邊距
          @property (nonatomic, assign) UIEdgeInsets textInsets;
          //設置文字垂直方向的對其模式 默認為居中對其 MDHTMLLabelVerticalAlignment枚舉意義如下:
          /*
          typedef NS_ENUM(NSUInteger, MDHTMLLabelVerticalAlignment) {
              MDHTMLLabelVerticalAlignmentCenter=0, //居中對其
              MDHTMLLabelVerticalAlignmentTop=1, //頂部對其
              MDHTMLLabelVerticalAlignmentBottom=2, //底部對其
          };
          */
          @property (nonatomic, assign) MDHTMLLabelVerticalAlignment verticalAlignment;
          //設置文字的截斷模式
          @property (nonatomic, strong) NSString *truncationTokenString;
          //根據內容獲取控件尺寸
          + (CGFloat)sizeThatFitsHTMLString:(NSString *)htmlString
           withFont:(UIFont *)font
           constraints:(CGSize)size
           limitedToNumberOfLines:(NSUInteger)numberOfLines;
          

          關于HTML數據中的超鏈接的相應,MDHTMLLabel是通過代理回調的方式處理的,如下:

          存的好處及應用:

          1,可以讓一些固定文件如css,js等文件在第二次訪問的時候直接讀取本地而不用再去請求服務器,這樣可以減少客服端對服務器資源的請求壓力,加快客戶端的響應速度。

          2,對于經常使用的數據源,可以將其存儲在數據緩存中或者內存中,這樣來減少數據庫請求。

          3,將網站部署在多臺機器上,采用分布式方式處理,可以解決多個用戶請求一臺服務器造成的壓力,也就是分布式部署。

          4,將那么經常需要訪問,但是數據又不需要經常變動的夜間做成靜態頁面。

          Asp.Net提供了一個緩存方法來實現緩存:OutPutCache

          OutPutCache中的屬性:

          1,Duration:頁面或者用戶控件緩存的時間,單位是秒,

          2,Location:輸出緩存的存放位置

          a)Any:客戶端瀏覽器,代理服務器,服務端服務器等

          b)Client:請求瀏覽的瀏覽器

          c)DownStram:代理服務器,發出 請求的客戶端

          d)None:對于請求的頁面,禁用輸出緩存

          e)Server:請求的web服務器

          f)ServerAndClient:發送請求的客戶端跟原服務器

          3,CacheProfile:配置文件中緩存配置的名稱,這個配置可選,

          4,NoStroe:決定了是否阻止敏感信息的二級存儲

          5,ProviderName:表示使用的自定義輸出緩存提供程序

          6,Shared:確定用戶控件輸出是否可以被多個頁共享

          7,SqlDependency:表示一組數據庫/表名稱 對應的字符串名頁或控件的輸出緩存依賴于這些名稱對。請注意,SqlCacheDependency 類監視輸出緩存所依賴的數據庫中的表,因此當更新表中的項時,使用基于表的輪詢時將從緩存中移除這些項。如果以值 CommandNotification: 使用通知(在 Microsoft SQL Server 2005 中),則最終會使用 SqlDependency 類向 SQL Server 2005 服務器注冊查詢通知。

          8,VaryByCustom:任何表示自定義輸出緩存要求的文本。如果特性的賦值為 browser,緩存將隨瀏覽器名稱和主要版本信息的不同而異。如果輸入自定義字符串,則必須在應用程序的 Global.asax 文件中重寫 GetVaryByCustomString 方法。

          9,VaryByHeader:分號分隔的 HTTP 標頭列表,用于使輸出緩存發生變化。將該特性設為多標頭時,對于每個指定標頭組合,輸出緩存都包含一個不同版本的請求文檔。

          esium.knock能夠使Cesium球體監聽html控件,從而根據控件的值實時改變一些場景屬性。

          knockout

          添加html控件

          <div id="toolbar" class="param-container tool-bar">
          		<table>
          			<tbody>
            			<tr>
          					<td>亮度</td>
          					<td>
          						<input type="range" min="0" max="2" step="0.02" data-bind="value: brightness, valueUpdate: 'input'">
          					</td>
          				</tr>
          			</tbody>
          	</table>
          </div>

          使用knockout雙向綁定數據


          主站蜘蛛池模板: 日本片免费观看一区二区| 亚洲乱码一区二区三区在线观看| 三上悠亚精品一区二区久久| 精品一区二区三区在线播放视频| 波多野结衣精品一区二区三区| 国产成人久久精品一区二区三区| 高清一区二区三区视频| 中文无码一区二区不卡αv| 亚洲乱码一区二区三区在线观看| 国产乱码伦精品一区二区三区麻豆 | 国产色综合一区二区三区| 国产亚洲一区二区三区在线观看| 亚洲国产欧美日韩精品一区二区三区| 国产在线一区二区在线视频| 欧洲精品一区二区三区在线观看 | 精品国产鲁一鲁一区二区| 国产在线一区二区综合免费视频| 一区二区三区在线观看视频| 一区三区三区不卡| 美女视频免费看一区二区 | 亚洲一区二区三区夜色| 国内精品无码一区二区三区| 亚洲AV成人精品日韩一区18p| 国产三级一区二区三区 | 亚洲av无码一区二区三区不卡| 久久精品一区二区影院| 久久一区二区免费播放| 综合久久一区二区三区| 无码一区二区三区老色鬼| 久久国产精品最新一区| 97久久精品无码一区二区天美| 在线观看一区二区三区av| 亚洲字幕AV一区二区三区四区 | 一区二区三区四区在线视频| 爆乳熟妇一区二区三区霸乳 | 精品人妻无码一区二区色欲产成人| 国产大秀视频在线一区二区| 亚洲综合无码一区二区痴汉| 精品理论片一区二区三区| 国产在线精品一区二区中文| 无码午夜人妻一区二区三区不卡视频|