關於UIWebView一個很奇怪問題的另類解決辦法(高度遞增問題)
近來在處理的一個iPad上的app,用到了UIWebView顯示廣告,廣告有豎屏和橫屏兩種不同的形式。處理方法不難,建立廣告webview,設定frame,加入到view中。旋轉的時候分別load對應的廣告html地址,再設定webview的frame。幾句程式碼,功能實現了,測試也通過了。但多旋轉幾次,會發現有個奇怪的問題,廣告html會不斷被拉伸,高度越來越大。輸出log,看到webview中的contentSize中的height每次遞增8畫素。原來是這個原因,估計是旋轉時,webview的寬度有變化,所以高度也相應的縮放就慢慢增大了。找到了原因,重設contentSize就可以了嘛。事實往往跟想象是有差距的,一測試,問題依舊。這下傻眼了,重設了contentSize,但完全沒效果。再想一下,會不會是有什麼屬性可以控制它的內容不隨大小而縮放的呢,找了一遍,沒找到相應的屬性。各種屬性都試過了,包括scalesPageToFit,通過stringByEvaluatingJavaScriptFromString利用javascript語句設定contentsize高度,reload等等方法,問題依舊,還是解決不了。
正在迷茫之際,想想看是不是設定錯了subview了。之前試過直接設定uiwebview的scrollview的frame,但沒看到有效果。會不會還有其他subview。於是試著遍歷UIWebView的所有subview,結果無意發現有個UIWebBrowserView的子檢視,看看名字覺得這個象是真正顯示web的檢視。於是試試列印這個view的大小,並修改成需要的尺寸,結果驚奇的發現,之前遞增的8畫素就是它增加的,而重設了大小後,拉伸情況再也沒出現了。shit,忍不住爆了一句粗口,想不到改個大小還要費這麼大的勁。是自己瞭解不多還是api的bug呢,想不懂,之前查閱資料的時候,也看過有人問過類似的問題(問題地址:
解決的程式碼如下:
- (void)fitContentForWebviewResize { for (UIView *subview in m_adView.subviews) { NSLog(@"subview class %@", NSStringFromClass([subview class])); if ([[subview class] isSubclassOfClass: [UIScrollView class]]) { for (UIView *subview2 in subview.subviews) { NSLog(@"subview class %@", NSStringFromClass([subview2 class])); if ([[subview2 class] isSubclassOfClass: NSClassFromString(@"UIWebBrowserView")]) { CGRect scrollFrame = subview2.frame; NSLog(@"%@", NSStringFromCGRect(scrollFrame)); subview2.frame = CGRectMake(0, 0, m_adView.frame.size.width, 100); break; } } CGRect scrollFrame = subview.frame; NSLog(@"%@", NSStringFromCGRect(scrollFrame)); break; } } }
相關推薦
關於UIWebView一個很奇怪問題的另類解決辦法(高度遞增問題)
近來在處理的一個iPad上的app,用到了UIWebView顯示廣告,廣告有豎屏和橫屏兩種不同的形式。處理方法不難,建立廣告webview,設定frame,加入到view中。旋轉的時候分別load對應的廣告html地址,再設定webview的frame。幾句程式碼,功能實現
spring boot:No converter found for return value of type: class另類解決辦法
開發過程中遇到這個報錯:No converter found for return value of type: class 請求返回的資料無法轉換,需要新增配置: <dependency> <groupId>com.fasterxml
sql server express版本不能啟動代理服務的另類解決辦法
真是“”活到老,學到老“”,最近又在用MS SQL做資料庫開發了,因為我用的是筆記本僅能安裝EXPRESS版本的MS SQL 2008 R2。有意思的是這個版本的代理服務根本就不能啟動,想了各種辦法。。。找了各種辦法。。。 結論:重新安裝或是升級的新的版本如:開發版或是企
Winform MDI窗體切換不閃爍的解決辦法(測試通過)
view ref ipa edr 定義 true post pen 情況 MDI窗體不閃爍方法測試通過: //.net 4.0用OptimizedDoubleBufferthis.SetStyle(ControlStyles.OptimizedDoubleBuffer |
Laravel ajax請求419錯誤及解決辦法(CSRF驗證) 阿星小棧
detail meta csdn div content pre bsp setup rip ajax請求報419 unknown status 解決辦法1:將這個接口放到api路由上,這樣可以跳過CSRF的檢查 解決辦法2: 1.在頁面上添加 <meta nam
關於訓練深度學習模型deepNN時,訓練精度維持固定值,模型不收斂的解決辦法(tensorflow實現)
一、背景 最近一直在做人臉表情的識別,用到的程式是之間的一篇文章中的程式:深度學習(一)——deepNN模型實現攝像頭實時識別人臉表情(C++和python3.6混合程式設計)。這裡我只進行了簡單的程式修改。 由於該程式是利用fer2013資料集做的,效果不是很好,人臉表情的識別精度僅有70
Xcode 10碰到的坑及解決辦法(更新中)
為了響應程式碼開發的號召,我在第一時間更新了xcode10,下完發現之前的專案編譯出錯,新建的專案也有一系列問題,碰壁了半天又去搜資料,暫時解決了出現的問題,記錄如下: 問題一:以前的程式碼編譯出錯 第一步: 原因:libc++.tbd 庫取代了libstdc++.6.0.9.t
javax.net.ssl.SSLException 解決辦法(踩坑)
剛剛安裝了ubuntu18.04 ,執行/gradlew assembleDebug的時候報異常javax.net.ssl.SSLException 在網上找找別人的踩坑指南,找了很久很久,終於在stackoverflow上的一行小字找到了解決方法
Foxmail登陸失敗-NO LOGIN Login error password error問題出現原因及解決辦法(授權碼)
問題描述: 因為今天在一個專案中需要用到郵箱的客戶端授權碼,所以我在網易郵箱網頁版中設定了授權碼,但是在後來在Foxmail客戶端收取郵件時出現了問題: 我確定自己沒有改過密碼,所以又進行了多次嘗試 好吧,相信提示,我去改密碼(但我覺得密碼沒錯啊???)
linux中安裝Gitlab伺服器後登入報錯502解決辦法(圖文集合)
前幾天安裝好了本地的Gitlab伺服器,都沒什麼問題,可以直接開啟。但是今天一通過 http//192.168.1.164:9090 來訪問直接報了502錯誤。如下圖: 502錯誤就是閘道器錯誤: 伺服器正在作為一個閘道器或代
關於Python安裝後升級pip失敗的解決辦法(實測有效)
問題還原: (1)安裝requests時出現pip需要升級。。。 (2)先檢查pip的版本 win+R,鍵入cmd回車,鍵入pip -V 當前版本為9.0.3 (3)升級pip
QT、VS常見bug及解決辦法(十一)—— fatal error LNK1201:寫入程式資料庫“***.pdb”時出錯;請檢查是否是磁碟空間不足、路徑無效或許可權不夠
問題: fatal error LNK1201:寫入程式資料庫“***.pdb”時出錯;請檢查是否是磁碟空間不足、路徑無效或許可權不夠 最近用opencv2.4.10、vs2010做開發經常遇到這個問題,經百度發現大部分是vs自己的問題 解決辦法1:
Ubuntu裝系統後重啟卡死解決辦法(超詳細)
筆者為了裝這個Ubuntu可走了不少彎路,想必當你看到我這篇部落格時你一定遇到了如下諸多問題的諸多個(筆者全部遇到了): 1.Ubuntu裝都裝不了,第一步載入lougou下面有幾個點,紅了幾個就停下了,從此一直如此,迫不得已強制關機! 2.驚險度過問題1,但是才到第一步
java 編譯異常及其解決辦法(持續更新)
unable event stc .config configure rect spring conf version java 編譯異常及其解決辦法(持續更新) 1.解決辦法:將jar版本降低適配 低版本的jdk或tomcat 1 嚴重: ContainerBase
python升級導致yum命令無法使用的解決辦法(修改版)
1、報錯資訊如下:[[email protected] bin]# yum [[email protected] local]# yum -y install prce There was a problem importing one of the P
解決使用路由器上傳網站出現FTP上傳緩慢至0.0kb/s的解決辦法(實測有效)
最近突然發現自己電腦的FTP上傳變得非常奇怪,使用FTP時4kb的檔案都無法正常上傳到伺服器上,flashfxp總是顯示從最高速度傳輸慢慢的將為0.0kb/s,然後很久才有反應開始緩慢的上傳下一個檔案。同時其他涉及到向網路傳送資料的操作如上傳檔案,提交表單資料等都變得異常緩慢。
LodaRunner 指令碼執行時連線錯誤解決辦法(Error -27098)
指令碼錄製好後回放。提示錯誤資訊如下: Error -27796: Failed to connect to server "127.0.0.1:1080": [10061] Connection refused [MsgId: MERR-27796] Warning
【Linux】【Opencv】【Python】安裝opencv以及無法使用cv2.imshow()解決辦法(Ubuntu14.04)
------【2017.07.14 更新】------------------------------------------------------- 安裝opencv3每次cmake都要下載3rd
git 無法拉取專案,本地ping不通github的解決辦法(詳解)
一、遇到的問題 本地在從github上拉取專案的時候,一直卡著,然後過個2分鐘就報錯,連線超時。問題是我前幾天還能git pull專案呢,百思不得其解。後來本地瀏覽器訪問github,得,連全世界最大的基佬交友網站都訪問不了。本地ping一下IP吧,
HTML5 虛擬鍵盤出現擋住輸入框的解決辦法(安卓)
//防止鍵盤把當前輸入框給擋住 $('input[type="text"]).on('click', function () { var target = this; setTimeout(function(){ target.scrollIntoViewIfNeeded();