ios – 如何更改MFMailComposeViewController的背景颜色?

ios – 如何更改MFMailComposeViewController的背景颜色?,第1张

概述如何更改MFMailComposeViewController的背景颜色? 我试着补充一下 mailController.view.backgroundColor = [UIColor redColor]; 但颜色仍然是白色.请帮忙. 我开始调试MFMailComposeViewController层次结构.继承我的代码. MFMailComposeViewController *mailComp 如何更改MFMailComposeVIEwController的背景颜色?
我试着补充一下

mailController.vIEw.backgroundcolor = [UIcolor redcolor];

但颜色仍然是白色.请帮忙.

解决方法 我开始调试MFMailComposeVIEwController层次结构.继承我的代码.

MFMailComposeVIEwController *mailComposeVIEwController = [[MFMailComposeVIEwController alloc] init];[self presentVIEwController:mailComposeVIEwController animated:YES completion:^{    UIVIEwController* mailVIEwController = [mailComposeVIEwController.topVIEwController.childVIEwControllers firstObject];    UIVIEw *mailVIEw = [mailVIEwController.vIEw.subvIEws firstObject];    CALayer *mailLayer = mailVIEw.layer;    mailLayer.opacity = 0.5f;    UIVIEw *backgroundVIEw = [[UIVIEw alloc] initWithFrame:mailVIEw.bounds];    backgroundVIEw.backgroundcolor = [UIcolor redcolor];    [mailVIEwController.vIEw insertSubvIEw:backgroundVIEw atIndex:0];}];

我发现MFMailComposeVIEwController是一种UINavigationController,它有一个顶视图控制器,它有一个子视图控制器.子视图控制器的视图具有子视图.此子视图是内容存在的位置.

问题是此视图没有子视图.所以我看看它的图层是否有子图层.它不是.通过更改图层Alpha并在此视图后面添加具有背景颜色的视图,我们可以清楚地看到此视图确实是我们想要的视图.

在searching左右后,我发现mailLayer是一个CALayerHost,它不仅可以显示来自另一个进程的内容;它还允许用户交互从主机应用程序传递到远程进程.换句话说,此类是跨过程边界传输用户 *** 作和图形的关键.

所以我认为这是一个死胡同.您将无法优雅地更改背景颜色.

总结

以上是内存溢出为你收集整理的ios – 如何更改MFMailComposeViewController的背景颜色?全部内容,希望文章能够帮你解决ios – 如何更改MFMailComposeViewController的背景颜色?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1027291.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存