
我试着补充一下
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的背景颜色?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)