前提・実現したいこと
四つのジャンルがありボタンを押すと音声がなるシンプルなアプリを作っています。
ボタンを生成する時viewdidloadに二重のfor文でボタンを生成しています。
下にバナー広告を貼っています。
発生している問題・エラーメッセージ
viewdidloadにfor文でボタンを生成し四つのカテゴリを変えるときに音声の名前を入れた配列を変えて
loadData()
viewDidLoad()
を行い表示される音声ボタンを変えているのでカテゴリを変える時viewdidload()に書いたGadBannerView()が更新されてしまいます。(一度消えてまた出てくるといった感じ)。それを消えないようにしたいのですが(つまりバナー広告がボタンでの操作に影響されないようにする)どうすればいいでしょうか。
エラーメッセージ ### 該当のソースコード viewdidloadの中身の一部 var admobView = GADBannerView() admobView = GADBannerView(adSize:kGADAdSizeBanner) // iPhone X のポートレート決め打ちです admobView.frame.origin = CGPoint(x:0, y:self.view.frame.size.height - admobView.frame.height - 34) admobView.frame.size = CGSize(width: self.view.frame.width, height:admobView.frame.height) admobView.adUnitID = TEST_ID admobView.rootViewController = self admobView.load(GADRequest()) self.view.addSubview(admobView) view.backgroundColor = UIColor(r: 61, g: 91, b: 151) navigationController?.setNavigationBarHidden(true, animated: false) let numberOfrows = 6 let numberOfLines = 3 var count = 0 var buttonArray:[UIButton] = [] let sizeOfButton = view.frame.height / 10 let widthOfSpace = ((view.frame.width - sizeOfButton * 4) / 5 ) forloop : for row in 0 ... numberOfrows { for line in 0 ... numberOfLines { let button = UIButton(type: .custom) button.backgroundColor = UIColor(r: 1, g: 101, b: 161) button.setTitleColor(UIColor.white, for: .normal) button.titleLabel?.numberOfLines = 0 button.setTitle(currentArray[row * 4 + line], for: .normal) button.frame = CGRect(x: (widthOfSpace + sizeOfButton) * CGFloat(line) + widthOfSpace, y: view.frame.height / 9.3 * CGFloat(row) + 50, width: sizeOfButton ,height: sizeOfButton ) button.layer.cornerRadius = 10 button.layer.borderColor = UIColor.white.cgColor button.layer.borderWidth = 1 button.titleLabel?.font = UIFont.boldSystemFont(ofSize: CGFloat(fontOfText)) button.tag = row * 4 + line button.addTarget(self, action: #selector(buttonPushed), for:.touchUpInside) button.showsTouchWhenHighlighted = true buttonArray.append(button) count += 1 if (count == currentArray.count) {break forloop} } } for button in buttonArray{ view.addSubview(button) } view.addSubview(buttonSegmentedControl) setupbuttonSegmentedControl() view.addSubview(admobView)
試したこと
addSubView()で試しましたがこれでは更新されてしまいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。