iOS13 textFiled.attributedPlaceholder 颜色设置无效

今天遇到一个问题,iOS13 attributedPlaceholder颜色设置无效

NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@"搜索" attributes:

    @{NSForegroundColorAttributeName:[UIColor redColor]}

    ];

    searchTextField.attributedPlaceholder = attrString;

就是这么设置的,然后发现颜色字体颜色始终为灰色。但是同样的代码11,12系统是可以的

百度了半天都没有找到办法。不过最终还是找到一个可行的办法

就是在vc 的viewWillAppear方法中,添加

if(@available(iOS13.0, *)) {

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

            usleep(3000);

            dispatch_async(dispatch_get_main_queue(), ^{

                self.searchBar.searchTextField.attributedPlaceholder = [[NSAttributedString alloc]initWithString:@"搜索"

                attributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

            });

        });

    }

不过我看别人也没有给出其他解释,感觉应该是13系统,在显示的过程中又重新覆盖了默认色,导致显示始终为灰色

你可能感兴趣的:(iOS13 textFiled.attributedPlaceholder 颜色设置无效)