iPhoneアプリの企画・開発・申請まで、ITサービスによるお客様のビジネスや業務内容の効率化をトータルサポート | 株式会社ドレイク・ネットワークス

DrakeNetWorks | ドレイク・ネットワークス

Objective-Cの使い方

CGRect,CGPoint,CGSizeとは?

2013-12-24

Objective-Cで座標をプログラムから扱うために以下3種類があります。

・CGRect

x座標、y座標、横幅、縦幅をもった値

・CGPoint

x座標、y座標をもった値

・CGSize

横幅、縦幅をもった値

 

上記3種類を作る時は以下メソッドで作ります。

CGRectMake(x座標、y座標、横幅、縦幅);

CGPointMake(x座標、y座標);

CGSizeMake(横幅、縦幅);

 

Objective-Cの座標系

2013-12-24

 

Objective-Cの座標系は少し変わっています。

左上を(0,0)ととり、下に行く程y座標の値が大きくなっていきます。

4.0インチ(iPhone5以降)

320×576

3.5インチ(iPhone3GS,4,4S)

320×480

@property,@synsesizeの使い方

2013-12-12

まとまりのない@propertyと@synsesizeをまとめてみます。

 

 

・@property,@synsesizeとはそもそも何?

クラス内の変数を別クラスから使うために設定します。

javaでいうセッター、ゲッターにあたるものらしい。

 

・設定方法

.hファイル

@property (nonatomic,strong) UILabel * testlabel;

.mファイル

@synsesize UILabel * testlabel;

 

・ややこしい理由

本来記述方法は全くややこしくないです。

xcodeのverによって@synsesize, (nonatomic,strong)が省力できるところがややこしいです。

ググって調べてみると時期が違うと@synsesizeがあったりなかったりするので

よくわからなくなります。

2013年12月現在 xcode5では

@property UILabel * testlabel;

こいつを記述すればよくなっています。

Objective-Cでメソッドを作る方法

2013-12-11

メソッドの作り方と使い方を説明します。

・メソッドの作り方

引数が2つの場合。3個でも4個でも基本は同じ形
返り値がある場合はreturnで返り値の型と合うように値を返す。
-(返り値の型)メソッド名:(引数1の方)引数1 第2引数の説明:(第2引数の方)第2引数{
}

例)
– (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
}

-(void)をよく見かけますが、voidは返り値がない場合に使います。

・メソッドの使い方

[self メソッド名];

・メソッド決まりごと
メソッドの中にメソッドを新たに作る事はできない。

誤り
ーーーーーーーーー
-(void)testMethod{
  -(void)testMethod2{
}
}
ーーーーーーーーー

正解
ーーーーーーーーー
-(void)testMethod{
 
}

-(void)testMethod2{

}
ーーーーーーーーー

 

 

Objective-Cファイルの説明

2013-12-11

Objective-Cファイルの説明です。

・.h,.mとは

.hファイルは変数、メソッドを宣言する部分

.mファイルは宣言した変数やメソッドを使って実行部分を記述

 

・AppDelegate

アプリ全体を管理するファイル

アプリ全体で使い回ししたい変数はAppDelegateで宣言して持ち回したりできる。

アプリ一つに対して一つ存在する。

 

・ViewController

ビューを管理するファイル

基本はビュー一つに対して一つのViewControllerを作る。

viewDidLoadメソッドを必ず通るのでここに処理を書けば必ず実行される。

 

・StoryBoard

画面をGUI的に作るためのファイル

Objective-Cプロジェクトの作り方

2013-12-11

Objective-Cプロジェクトの作り方です。

Xcodeを立ち上げてNew Projectと選択していけばできます。

 

 

© 2004-2022 DrakeNetWorks Co., Ltd. All Rights Reserved.