iOS 常見一些問題

2021-09-30 16:21:46 字數 2409 閱讀 3405

1,使用autolayout時,用程式設計方式push乙個新的controller時,如果該controller需要隱藏tab bar時會出現檢視先出現,然後tabbar被隱藏而試圖被拉伸時出現乙個非預期的動畫效果的情況。

解決方案:

解決方法看這裡。

大神提供的方法有效,但是在xcode7下會發現,無法選中大神所說的選項,這個時候我們只需要用文字編輯器直接修改storyboard的原始碼就可以了。不要害怕,找到對應的id直接修改就行了。

2,push新檢視時,右上角會有黑色色塊閃現?

解決方案:這個問題很簡單,只要把mainwindow和root controller的背景色設定成白色就行了。其他很多奇葩的解決方案都沒有這個方法簡單有效。

3,自增高的uitextview在自增高的範圍內(比如限制四行,超過四行後高度不便)輸入文字時uitextview會自動滾動文字,導致極差的使用者體驗。

解決方案:有人很自然地會在text view 的delegate方法中去修正滾動,這樣做是無效的。

修正滾動需要在uitextview的layoutsubviews中實現,那麼這樣就需要我們自己去實現乙個uitextview的子類。其實所有uiscrollview的子類,需要在滑動是線性地處理一些問題,都只能在layoutsubviews中實現。比如滑動是blur背景圖等,如果放到delegate方法中去做,都會出現跳躍的情況。

此外,超出最大高度之後,輸入中文可能會出現文字區域滾動跳躍的情況。這個時候的處理方法是,在收到text變動的delegate時,我們自己將文字區域滾動到最下方,像這樣:

self.contentoffset = cgpointmake(0, self.contentsize.height - self.frame.size.height);
並且要設定textview的

self.layoutmanager.allowsnoncontiguouslayout = no;
不要相信蘋果的注釋,他們說預設值是no(除此之外的注釋還是要相信的)。必須要手動設定為no,才不會跳動。

4,pop乙個uitableviewcontroller(只要是包含uiscorllview及其子類的controller都可以照此法解決)的時候莫名crash。

- (void)dealloc

5,在中使用autolayout布局時,通常在旋轉螢幕的時候,會出現unsafe contains的警告,這通常是由於auto resize mask生成的約束和我們自定義的約束出現了衝突。

解決方案:很簡單,調高出現衝突約束的priory,預設是1000,你可以調到750。這樣就不會出現衝突了。但前提是你要確保自己的約束是正確的。

6,autolayout的cell使用自動算高的tableview時,發現cell右側的控制項不顯示?

解決方案:其實不是控制項不顯示,只是約束使得cell的寬度變寬。相對cell的traeing的控制項超出了螢幕的可是範圍。那麼你問為什麼會這樣,原因就是你在設計cell的時候,約束都是在anyh,anyw的size class下新增的。解決這個問題的方法就是,在特定裝置對應的size class下去新增約束。

7,uibarbuttonitem無法獲取frame?

uibarbuttonitem *addcontactitem = [[uibarbuttonitem alloc] initwithtitle:@"新增"

style:uibarbuttonitemstyleplain

target:self action:

@selector(addcontact:

event:)];

在設定action selector的時候多傳遞乙個event引數,然後:

- (void)addcontact:(uibarbuttonitem *)sender event:(uievent *) event
這樣我們就可以定位到觸發動作的uibarbuttonitem的位置,並正確彈出視窗。

那麼這麼有兩點值得思考的問題:1,@selector是如何傳遞多個引數的?2,uibarbuttonitem是如何響應事件的,或者說他只是乙個表象,由裝載他的物件響應的事件?

8,在tableview中載入了歷史資料,然後使用tableview的insert方法後,再滾動到之前的位置,一直會有動畫,及時**裡禁止了動畫。

解決方案:不要使用insert後再滾動的方法,直接用reloaddata然後再滾動就不會出現抖動的現象了。雖然reloaddata效能消耗更大,但是使用者體驗更加重要不是麼。

9,translatesautoresizingmaskintoconstraints是什麼鬼,怎麼用?

10,背景色消失,當cell為選中狀態。

本帖會持續更新,如果有看到的朋友,遇到了其他奇葩問題也請告訴我喲。

webpart 常見的一些問題

1.此頁不支援指定的顯示模式。請確保已啟用個性化設定並且此頁上存在相應的區域 這個問題很奇怪,我很納悶,cs 無問題,webconfig裡面也寫了,那麼為什麼報錯?結果再我拖了相關的catalogzone和editorzone後解決.頁面上沒有catalogzone和editorzone,是不可以w...

移動端常見的一些問題

安卓瀏覽器看背景,有些裝置會模糊 因為手機解析度太小,如果按照解析度來顯示網頁,字會非常小,安卓手機devicepixoradio比較亂,有1.5的,有2的也有3的。想讓在手機裡顯示更為清晰,必須使用2x的背景圖來代替img標籤 一般情況下都是2倍的 或者指定background size cont...

String 一些問題

前言 等號 對於基本型別,比較的是值,對於引用型別,比較的是記憶體位址。1.在物件池中建立,如果常量池中已經存在則返回常量池中已經有的。private static void test1 結果 true 2.乙個在string pool中,乙個在堆中。private static void test...