iOS13踩坑记录

1、UIViewController切换方式modalPresentationStyle

iOS13默认UIModalPresentationAutomatic模式,不符合我们的需求。改回之前的模式要用UIModalPresentationFullScreen。

vc.modalPresentationStyle = UIModalPresentationFullScreen;

但是,问题来了,项目里vc太多,而且因为接入了多家SDK,viewController并没有一个相同父VC,全局改太费劲了。

解决方案:

在appDelegate中实现了ViewController的分类,改变了modalPresentationStyle的值完美解决。

@implementation UIViewController(modalPresentationStyle)

– (UIModalPresentationStyle)modalPresentationStyle{

return UIModalPresentationFullScreen;

}

@end
2、”NSGenericException” – reason: “Access to UITextField’s _placeholderLabel ivar is prohibited. This is an application bug”

设置TextFiled的默认文字颜色在iOS13 Crash。

[textfield setValue:[UIColor whiteColor] forKeyPath:@”_placeholderLabel.textColor”];
查了一下,帖子挺多的,解决方案:

Ivar ivar = class_getInstanceVariable([UITextField class], “_placeholderLabel”);
UILabel *placeholderLabel = object_getIvar(textField, ivar);
placeholderLabel.textColor = [UIColor whiteColor];
记得加头文件

#import <objc/runtime.h>
未完待续。。