読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #227】CGGeometryクラスで用意されている関数はViewのサイズや位置取得が簡単にできて便利

Viewのサイズや位置を取得するときには
CGGeometryクラスで用意されている関数を使うと簡単に取得できる。
また、関数名を見ると、どの値を取得しようとしているのかわかりやすいのがいい。

例えばどのような関数があるか?
Viewの高さを取得:CGRectGetHeight
Viewの幅を取得:CGRectGetWidth

Viewの中心のX座標を取得:CGRectGetMidX
Viewの中心のY座標を取得:CGRectGetMidY

■例:サンプルソース
プロジェクトを新規作成し、ViewController.swiftを下記のようにしました。

import UIKit

class ViewController: UIViewController {
    var label: UILabel!
    var button: UIButton!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        label = UILabel(frame: CGRectMake(10.0, 10.0, 200.0, 40.0))
        label.text = "test"
        view.addSubview(label)

        button = UIButton.buttonWithType(.System) as! UIButton
        button.frame = CGRectMake(80.0, 80.0, 85.0, 30.0)
        button.setTitle("ボタン", forState: .Normal)
        view.addSubview(button)
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        // ラベルの高さと幅を取得
        let height = CGRectGetHeight(label.frame)
        let width = CGRectGetWidth(label.frame)
        println("ラベルの高さ:\(height) 幅:\(width)")

        // ボタンの位置取得
        let midX = CGRectGetMidX(button.frame)
        let midY = CGRectGetMidY(button.frame)
        println("ボタンの中心のX座業:\(midX) Y座標:\(midY)")
    }

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


}

■結果
f:id:fjswkun:20150708211812p:plain

■おわりに
他にも便利な関数がたくさん用意されているのでリファレンスを見てみる。

CGGeometry Reference
https://developer.apple.com/library/prerelease/ios/documentation/GraphicsImaging/Reference/CGGeometry/index.html

【参考情報】
iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍
【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾

③中級者、上級者向け

詳解 Swift

詳解 Swift