iOSのタブ内を画像のみにする。画像の位置を調整。

class FirstViewController: UIViewController {
   @IBOutlet weak var tabItem: UITabBarItem!
    override func viewDidLoad() {
        super.viewDidLoad()

        var insets = UIEdgeInsets()
        insets.top = 5
        insets.bottom = -5.0
        tabItem.imageInsets = insets
    }
}

iOS GIFアニメーション再生ライブラリ YLGIFImage 開始・停止・3秒実行

YLGIFImage:https://github.com/liyong03/YLGIFImage

使い方は下記ページを参照。
丸の内テックさん記事:http://marunouchi-tech.i-studio.co.jp/3775/

上記をベースに開始・停止・3秒実行ボタンをつけて見ました。

開始は

demoImageView.image = gifImage

とGIFアニメーションのインスタンスをセット。
インスタンスをセットした瞬間からアニメーションは開始されます。

停止は

demoImageView.image = nil

とnilをセット。

3秒実行はTimerクラスを使用しています。

表示させたまま開始、停止させたい場合は

demoImageView.startAnimation()
demoImageView.stopAnimation

を使用すればよい。

開始・停止・3秒実行ボタン

import UIKit
import YLGIFImage

class ViewController: UIViewController {

    @IBOutlet weak var demoImageView: UIImageView!
    
    var gifImage:UIImage!
    
    override func viewDidLoad() {
        super.viewDidLoad()

        if let path = Bundle.main.url(forResource: "shirakawago1_animated_256", withExtension: "gif") {
            if let data = try? Data(contentsOf: path) {
                gifImage = YLGIFImage(data: data)
            }
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func tapStart(_ sender: Any) {
        demoImageView.image = gifImage
    }
    
    @IBAction func tapStop(_ sender: Any) {
        demoImageView.image = nil
    }
    
    @IBAction func tapTimer3sec(_ sender: Any) {
        demoImageView.image = gifImage
        _ = Timer.scheduledTimer(withTimeInterval: 3, repeats: false, block: timwer3stop(t:))
    }
    
    func timwer3stop(t:Timer) {
        demoImageView.image = nil
    }

}

DFP(DoubleClick for Publishers)広告ロードの正常と異常

DFP(DoubleClick for Publishers)広告ロードの正常と異常

SDK for DFP Users on iOS

DFPBannerViewのload()メソッドは正常・異常を返さない。
GADBannerViewDelegateを使用して取得する。
正常時コールバック:adViewDidReceiveAd(_ bannerView: GADBannerView)
異常時コールバック:adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError)

下記はExample。
bannerViewのalpha値を0で初期化し、正常時に1にしています。
alpha値をいじらなくても、load()異常時は透過で表示されています。

import UIKit
import GoogleMobileAds

class ViewController: UIViewController ,GADBannerViewDelegate  {

    @IBOutlet weak var bannerView: DFPBannerView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        bannerView.alpha = 0
        bannerView.delegate = self
        bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
        bannerView.rootViewController = self
        let xyz = DFPRequest()
        bannerView.load(xyz)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    func adViewDidReceiveAd(_ bannerView: GADBannerView) {
        print("OK")
        bannerView.alpha = 1
    }
    
    func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError) {
        print("Error")
        print(error)
    }
}