iOS13遇到問題集中

1.左滑刪除按鈕消失問題,iOS13中層級結(jié)構(gòu)發(fā)生變化。

if (IS_iOSGREATERTHAN13) {

? ? ? ? for(UIView*subviewinself.tableView.subviews) {

? ? ? ? ? ? if([subviewisKindOfClass:NSClassFromString(@"_UITableViewCellSwipeContainerView")] && [subview.subviewscount] >=1) {

? ? ? ? ? ? ? ? for(UIView*subview0insubview.subviews){

? ? ? ? ? ? ? ? ? ? if([subview0isKindOfClass:NSClassFromString(@"UISwipeActionPullView")] && [subview0.subviewscount] >=1){

? ? ? ? ? ? ? ? ? ? ? ? UIButton*deleteButton = subview0.subviews[0];

? ? ? ? ? ? ? ? ? ? ? ? [selfconfigDeleteButton:deleteButton];

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? }

2.Access to UITextField's _placeholderLabel ivar is prohibited。

UITextFiled? "_placeholderLabel"設(shè)置屬性font等崩潰問題,解決方案:使用swizzle

extension NSObject {

? ? funcgetIvar(name:String) ->Any? {

? ? ? ? guard?let_var =class_getInstanceVariable(type(of:self), name)else{

? ? ? ? ? ? returnnil

? ? ? ? }

? ? ? ? returnobject_getIvar(self, _var)

? ? }

}

extension UITextField {

? ? varplaceholderLabel:UILabel? {

? ? ? ? get{

? ? ? ? ? ? returngetIvar(name:"_placeholderLabel")as?UILabel

? ? ? ? }

? ? }

}


swizzle也操作了私有屬性,對于蘋果來說還是違背了它的意志,雖然現(xiàn)在沒有bug,不保證未來不遇到類似?"_placeholderLabel"崩潰問題。另外一種溫和的方案是設(shè)置attributedPlaceholder。

extension UITextField {

? ? @objc func setPlaceholderColor(_ color: UIColor) {

? ? ? ? letplaceholderString =? NSAttributedString(string:self.placeholder??"", attributes: [NSAttributedString.Key.foregroundColor: color])

? ? ? ? self.attributedPlaceholder= placeholderString

? ? }


? ? @objcfuncsetPlaceholderAttribute(color:UIColor, font:UIFont) {

? ? ? ? letplaceholderString =? NSAttributedString(string:self.placeholder??"", attributes: [NSAttributedString.Key.foregroundColor: color,NSAttributedString.Key.font: font])

? ? ? ? self.attributedPlaceholder= placeholderString

? ? }

}

3.未開發(fā)暗黑模式之前,先不適配暗黑模式。

全局關(guān)閉暗黑模式:

在 Info.plist 文件中,添加 key 為?User Interface Style,類型為 String,value 設(shè)置為?Light?即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容