home > January 2013
[Objective-C] CGRect、CGPoint、CGSize
January 07, 2013
CGRect
対象オブジェクトの位置とサイズの両方を管理するクラスです。
生成するには、CGRectMakeを使用し、引数には「位置x, 位置y, 幅, 高さ」の順で指定します。
// CGRectの生成
CGRect rect = CGRectMake(0, 0, 100, 80);
// 位置x、位置y、幅、高さ全て0のCGRectを生成する
CGRect rect = CGRectZero;
CGPoint
対象オブジェクトの位置を管理するクラスです。
生成するには、CGPointMakeを使用し、引数には「位置x, 位置y」の順で指定します。
// CGPointの生成
CGPoint point = CGPointMake(200, 300);
CGSize
対象オブジェクトの位置を管理するクラスです。
生成するには、CGPointMakeを使用し、引数には「位置x, 位置y」の順で指定します。
// CGSizeの生成
CGSize sz = CGSizeMake(100, 50);
参考サイト
http://iphone-tora.sakura.ne.jp/uikit_size.html
Tweet
[Objective-C] NSArray 配列
// リストを作成する
NSArray *nozomi = [[NSArray arrayWithObjects:@"東京", @"品川", @"新横浜",
@"名古屋", @"京都", @"大阪", nil] retain];
// リストに含まれる要素数を取得する
int cnt = [nozomi count];
cnt → 6// リストの4番目の要素を取り出す
NSString *str = [nozomi objectAtIndex:3];
str → 名古屋// リストの最後の要素を取り出す
NSString *str = [nozomi lastObject];
str → 大阪// リストに「福岡」が含まれているか判定する
BOOL flg = [nozomi containsObject:@"福岡"];
flg → NO
参考サイト
http://iphone-tora.sakura.ne.jp/nsarray.html
Tweet
[Objective-C] NSLog ログ書出し
文字列
NSLog(@"hoge");
配列
NSArray *array = [NSArrayarrayWithObjects:@"one", @"two", @"three", nil];
NSLog(@"%@", array);
%@ :Objective-Cのオブジェクト(NSStringとか)
%d :整数(intとか)
%f :浮動小数点(doubleとかfloatとか)
%.3fと指定することで桁数を指定できる
%s :言語の文字列(NULLターミネートされた文字列)
参考サイト
http://appteam.blog114.fc2.com/blog-entry-172.html
Tweet
[Objective-C] 文字列(NSString)の処理
方法1 : stringWithFormat:メソッドを使う
NSString*str1 =@"Hello";
NSString*str2 =@"World";
NSString*str3 = [NSStringstringWithFormat:@"%@ %@", str1, str2];
NSLog(@"str3 = %@", str3);
実行結果
2012-04-21 06:28:13.831 StringTest[32624:f803] str3 = Hello World
方法2 : stringByAppendingString:メソッドを使う
NSString*str1 =@"Hello";
NSString*str2 = [str1 stringByAppendingString:@" World"];
NSLog(@"str2 = %@", str2);
実行結果
2012-04-21 06:27:37.572 StringTest[32572:f803] str2 = Hello World
参考サイト
http://akio0911.net/archives/11465
Tweet
[Objective-C] メソッドの定義と実行
1.戻り値も引数もないメソッドの場合
//メソッドを定義
- (void)hogeMethod;
{
//処理
}
[test hogeMethod]; //メソッド呼び出し
2.戻り値があって引数がないメソッドの場合
//戻り値がNSString型のメソッドを定義
- (NSString *)hogeMethod;
{
//処理
}
NSString *result = [test hogeMethod];
3.引数が1つあって戻り値がないメソッドの場合
//引数がNSString型のメソッドを定義
- (void)hogeMethod:(NSString *)argString;
{
//処理
}
[test hogeMethod:@"hogehoge"]; //hogehoged文字列を引数としてメソッド呼び出し
4.引数が1つと戻り値があるメソッドの場合
//戻り値がNSString型、引数がNSString型のメソッドを定義
- (NSString *)myMethod:(NSString *)argString;
{
//処理
}
NSString *result = [test myMethod:@"hogehoge"];
5.引数が2つと戻り値があるメソッドの場合
//戻り値がNSString型、引数がNSString型とint型の2つあるメソッドを定義
- (NSString *)myMethod:(NSString *)argString myInt:(int)argInt;
{
//処理
}
NSString *result = [test myMethod:@"hogehoge"myInt:123]; //メソッド呼び出し
- (void)setWidth:(int)argWidth
height:(int)argHeight
depth:(int)argDepth;
{
//処理
}
[test setWidth:5height:6depth:7] //メソッド呼び出し
メソッド定義の最初の「-」はインスタンスメソッドの定義の場合に付加する。
先頭の記号が「+」の場合はクラスメソッドの定義となる。
例えば、クラスの初期化手続きで利用するallocメソッドやinitメソッドなどが代表的なクラスメソッド。
参考サイト
http://opendevlog2.blogspot.jp/2012/03/objective-c.html
Tweet
[Objective-C] UIColor
// 色の割合を指定して生成する場合
UIColor *color = [UIColor colorWithRed:0.0 green:0.5 blue:1.0 alpha:1.0];
// 定義済みの色を指定して生成する場合
UIColor *color = [UIColor whiteColor];
// 画像を指定してパターンを生成する場合
UIImage *hogeImage = [UIImage imageNamed:@"hoge.png"];
UIColor *color = [[UIColor alloc] initWithPatternImage:hogeImage];
// 生成済みのUIColorに透過率のみ指定する場合
UIColor *color = [UIColor blueColor];
UIColor *acolor = [color colorWithAlphaComponent:0.5]; //透過率50%
参考サイト
http://iphone-tora.sakura.ne.jp/uicolor.html
Tweet
[Objective-C] UIFont
// スタイル:ノーマル、サイズ:標準
UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
// スタイル:ノーマル、サイズ:24
UIFont *font = [UIFont systemFontOfSize:24];
// スタイル:斜体、サイズ:小さめ
UIFont *font = [UIFont italicSystemFontOfSize:[UIFont smallSystemFontSize]];
// スタイル:太字、サイズ:ボタン用サイズ
UIFont *font = [UIFont boldSystemFontOfSize:[UIFont buttonFontSize]];
// フォント名:AppleGothic、サイズ:標準
UIFont *font = [UIFont fontWithName:@"AppleGothic" size:[UIFont systemFontSize]];
// フォント名:Courier、サイズ:20
UIFont *font = [UIFont fontWithName:@"Courier" size:[UIFont systemFontSize]];
参考サイト
http://iphone-tora.sakura.ne.jp/uifont.html
Tweet
[Objective-C] UIWebView
// UIWebView例文 UIWebView *wv = [[UIWebView alloc] init]; wv.delegate = self; wv.frame = CGRectMake(0, 0, 200, 300); wv.scalesPageToFit = YES; [self.view addSubview:wv];NSURL *url = [NSURL URLWithString:@"http://www.yahoo.co.jp"];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[wv loadRequest:req];// ページ読込開始時にインジケータをくるくるさせる
-(void)webViewDidStartLoad:(UIWebView*)webView{
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
}// ページ読込完了時にインジケータを非表示にする
-(void)webViewDidFinishLoad:(UIWebView*)webView{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
参考サイト
http://iphone-tora.sakura.ne.jp/uiwebview.html
Tweet
[Objective-C] UIViewにaddSubviewしたものを削除する方法
removeFromSuperview
[_label1 removeFromSuperview];
[_label1 release];
UIView *_sampleView = [[UIView alloc] init];
// _sampleViewを追加する。
[self.view addSubview: _sampleView];
//削除
[_sampleView removeFromSuperview];
Tweet
[Objective-C] ON/OFF 切り替えスイッチ
UISwitch
// スイッチ例文
UISwitch *swich = [[[UISwitch alloc] init] autorelease];
swich.center = CGPointMake(200, 300);
swich.on = YES;
// 値が変更された時にhogeメソッドを呼び出す
[swich addTarget:self action:@selector(hoge:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:swich];
〜
// 呼ばれるhogeメソッド
-(void)hoge:(UISwitch*)switch{
// ここに何かの処理を記述する
}
UIButton
UIButton* mySwitch = [UIButton buttonWithType:UIButtonTypeCustom];
// OFFの画像設定
[mySwitch setBackgroundImage:[UIImage imageNamed:@"btn_off" forState:UIControlStateNormal]];
// タップ中の画像設定
[mySwitch setBackgroundImage:[UIImage imageNamed:@"btn_off" forState:UIControlStateHighlighted]];
// ONの画像設定
[mySwitch setBackgroundImage:[UIImage imageNamed:@"btn_on" forState:UIControlStateNormal | UIControlStateSelected]];
// タップ中の画像設定
[mySwitch setBackgroundImage:[UIImage imageNamed:@"btn_off" forState:UIControlStateHighlighted | UIControlStateSelected]];
[mySwitch addTarget:self action:@selector(mySwitchDidTap:) forControlEvents:UIControlEventTouchDown];
// 配置
mySwitch.frame = CGRectMake(10, 10, 100, 44);
[self.viwe addSubView:mySwitch];
〜
文字変更する場合は下記
-(void)mySwitchDidTap:(UIButton *)sender
{
sender.selected = !sender.selected;
if (sender.selected) {
// ON に変わった場合の処理
} else {
// OFF に変わった場合の処理
}
}
参考サイト
http://iphone-tora.sakura.ne.jp/uiswitch.html
http://qiita.com/items/215adc6afc1c504f9ed3
Tweet