LoginSignup
4
1

More than 5 years have passed since last update.

Swiftについての覚書5

Posted at

UIWindowについて

UIwindowを表示するサンプルを書いていきたいと思います。

「windowOpen」をタップすると
スクリーンショット 2016-12-09 23.43.44.png

こんな感じに別Windowが開きます
スクリーンショット 2016-12-09 23.46.21.png

実装

windowOpenタップ時に呼ばれるメソッドを作成

まずは「windowOpen」をタップした時にopenWindow()を呼び出します。
このメソッドにUIWindowを作成する処理を書いていきます。

    @IBAction func touchOpenWondow(sender: AnyObject) {
        openWindow()
    }

必要な部品を宣言

// window
var testWindow: UIWindow!
// windowのメッセージ
var message: UITextView!
// windowのOKボタン
var okButton: UIButton!
// windowのキャンセルボタン
var cancelButton: UIButton!
// windowの背景イメージ
var touchImageView: UIImageView!

openWindow()の作成

初期化

    testWindow = UIWindow()
    message = UITextView()
    okButton = UIButton()
    cancelButton = UIButton()

背景に画像と背景色を設定

    // 黒猫の画像
    if let image = UIImage(named: "kuroneko.gif") {
        testWindow.layer.contents = image.CGImage
    }
    // 背景色は白
    testWindow.backgroundColor = UIColor.whiteColor()

windowの大きさと表示位置を設定

    // 横幅200、縦250のwindowを作成
    testWindow.frame = CGRectMake(0, 0, 200, 250)
    // 中央に表示
    testWindow.layer.position = CGPointMake(self.view.frame.width/2, self.view.frame.height/2)

枠線を設定

    // 角をま〜るい感じに
    testWindow.layer.cornerRadius = 20
    // 枠線は爽やかな青色
    testWindow.layer.borderColor = UIColor(red: 80/255, green: 184/255, blue: 255/255, alpha: 1.0).CGColor
    // ちょっと太めに設定
    testWindow.layer.borderWidth = 3.0

windowを表示

    testWindow.makeKeyWindow()
    testWindow.makeKeyAndVisible()

今日はここまで。
次回はボタンの作成からです。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1