SwiftUI中修改UIViewController框架及广告居中问题求助
SwiftUI集成UIViewControllerRepresentable时的尺寸与广告居中问题
我在SwiftUI项目中通过UIViewControllerRepresentable集成UIViewController,想要修改该UIViewController的框架,使用了以下代码:
let vc = UIViewController() vc.view.frame.size = CGSize(width: kGADAdSizeBanner.size.width, height: kGADAdSizeBanner.size.height)
但将这个由UIViewControllerRepresentable创建的视图集成到包含列表的VStack中时,UIViewController并未呈现预期尺寸。
我的完整代码如下:
func makeUIViewController(context: Context) -> UIViewController { let vc = UIViewController() vc.view.frame.size = CGSize(width: kGADAdSizeBanner.size.width, height: kGADAdSizeBanner.size.height) vc.view.backgroundColor = .gray vc.view.alpha = 0 let bannerView = GADBannerView(adSize: kGADAdSizeBanner) bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" bannerView.alpha = 0 bannerView.rootViewController = vc bannerView.delegate = context.coordinator bannerView.load(GADRequest()) vc.view.addSubview(bannerView) return vc }
其中kGADAdSizeBanner是谷歌提供的广告尺寸变量。此外,广告并未显示在灰色UIViewController的中央,恳请帮忙解决这两个问题。
我已尝试过以下方法:
vc.view.translatesAutoresizingMaskIntoConstraints = falsevc.view.frame = CGRect(origin: .zero, size: CGSize(width: kGADAdSizeBanner.size.width, height: kGADAdSizeBanner.size.height))
内容的提问来源于stack exchange,提问作者SwiftUICodingGermany
相关产品推荐
相关产品推荐

