GADBannerView:在xib文件中创建时设置为“ rootviewcontroller”的内容

时间:2019-04-13 02:30:31

标签: swift uiviewcontroller ibinspectable gadbannerview

我正在创建一个XIB文件,该文件在应用时将视图设置为$autoload['libraries'] = array('database','session','upload','form_validation','pagination'); 。您可能已经猜到了,我无法将GADBannerView文件本身的rootViewController属性设置为self,因此导致我创建一个AdXib那里的属性-但您无法在IBInspectable中设置UIViewController。我也无法通过字符串强制转换解决问题,所以:

有人可以帮助我正确地投射字符串或提出设置IBInspectable属性的更好方法吗?

谢谢

AdXib文件(为清楚起见,我省略了大部分广告加载过程):

rootViewController

当将IBInspectable属性设置为import UIKit import GoogleMobileAds class AdXib: UIView, GADBannerViewDelegate { @IBOutlet var contentView: UIView! @IBOutlet var bannerView: GADBannerView! var viewcontrollerThatIsSelfForGADBannerView: UIViewController @IBInspectable var rootViewController: UIViewController { didSet { viewcontrollerThatIsSelfForGADBannerView = self.rootViewController } } //tried but couldn't figure out how to set a string as a uiview controller... @IBInspectable var rootViewController: String { didSet { viewcontrollerThatIsSelfForGADBannerView = "\(self.rootViewController)" } } override init(frame: CGRect) { super.init(frame: frame) initializeView() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) initializeView() } private func initializeView(){ Bundle.main.loadNibNamed("AdXib", owner: self, options: nil) addSubview(contentView) //bannerView.rootViewController = self <--- error bannerView.rootViewController = viewcontrollerThatIsSelfForGADBannerView bannerView.load(request) } } 时,代码可以很好地编译,但是由于无法使用该类型(https://medium.com/anantha-krishnan-k-g/ibdesignable-and-ibinspectable-in-swift-3-702d7dd00ca),因此代码未显示在界面生成器中。我决定尝试使用UIViewController,但不知道如何将其设置为String类型。有人可以建议我尝试做的方法还是建议其他方法?

0 个答案:

没有答案