iOS 開發中遇到的坑

2021-07-14 13:10:39 字數 1376 閱讀 9322

用**建立了乙個view後能顯示,但無法響應觸控事件

出錯原因:可能是父view的frame為cgzero

使用cocoapods更新庫時,使用pod install無效。

出錯原因:命令被牆 。

解決方法:pod install 換成pod install - -verbose - -no-repo-update這個命令

mvc很重要!介面盡量用**寫!這樣能保證關於介面樣式相關的操作能封裝在乙個view中,而controller則集中於資料的處理操作。

mjrefresh上拉/下拉重新整理時,在xib/storyboard中不顯示重新整理控制項

解放方法:

tableview.mj_header = [mjrefreshnormalheader

headerwithrefreshingtarget:

self

refreshingaction:

@selector(headrefresh)];

tableview.mj_footer = [mjrefreshbacknormalfooter

footerwithrefreshingtarget:

self

refreshingaction:

@selector(footrefresh)];

【這次開發的過程是用了個人(xcode7後免費)、企業證書】

專案–>team(此處用於選擇證書使用者)

①一般選擇使用者後會出現證書不匹配的問題,此時用fix解決即可。

②證書的profile配置的選擇一般可以用com.***.*,這樣就不必針對特定專案進行重新建立了。

③在build settings 裡code siging identiy裡的provisiong profile選擇automatic即可。

有時遇到的一些問題是只有特別裝置才會出現的。

案例1

環境:

裝置:macbook pro 2023年版(13寸、8g+256快閃儲存器)

系統:macos sierra 10.12.2

xcode:8.2.1

情況:

使用uiedgeinsets時並沒有初始化,直接拿去使用。

導致出現如下問題:

其中nan顯然是下溢。模擬器上導致並非乙個數字,因此賦值時會崩潰。但在其它裝置中並不會出現這種情況。

解決方法:

對uiedgeinsets進行初始化

eg. uiedgeinsets edgeinset = uiedgeinsetszero;

教訓:

①每個裝置的cpu、記憶體等都不同,對未初始化的屬性賦值自然不同(使用不當可能會導致記憶體洩露)

②對區域性變數需要進行初始化!!

開發中遇到的坑

new arraylist size 時確定list數量,指明list大小,但是確保 裡的.size 不是null listresult new arraylist authprioritydolist.size 判斷string型別的值是不是空時用stringutils.hastext strin...

H5混合開發IOS中遇到的坑

1.ios系統手機無法自動 bgm 這個是蘋果系統限制,預設不允許自動 音訊,往往需要點一下觸發play 事件才能 那麼我們在頁面onload後觸發 事件 document.getelementbyid music play 到這裡一般都可以 了,如果還不行,很有可能是微信的限制。這時需要呼叫微信介...

VUE開發中遇到的坑

1.父元件監聽不到子元件向外觸發的事件,原因可能是 emit傳入的事件名稱只能用小寫,不可以使用駝峰式命名書寫。現版本的 vue 似乎可以支援 2.用非同步傳遞過來的資料做元件的初始化時候,直接用,因為存在非同步問題 延時,結果需在等待過程結束之後才返回 會出現not find props或者渲染出...