iPhoneアプリ作成(4) 主要メソッド
iPhone SDKには様々なクラス・メソッドがあり、サンプルアプリを読んだり、アプリを作成するとなると、それらを広く浅く頭の中に入れておく必要があると思い、お勉強用に「iPhoneアプリ開発の虎の巻」さんのサイトを参考に主要メソッド/プロパティの一覧を手打ちしてみた。正直、疲れました(笑
「iPhoneアプリ開発の虎の巻」さんのサイトについては、クラス使い方を容易に確認出来、非常に便利でこれからも参考にさせていただこうと思っています.
■主要メソッド/プロパティ
================================
NSObject : 全てのクラスのスーパークラス。
================================
◆階層
NSObject
◆メソッド
インスタンスを生成する
+(id)alloc
インスタンスを初期化する
-(id)init
参照カウンターを-1する
-(void)release
参照カウンターを+1する
-(id)retain
自動解放対象とする
-(id)autorelease
参照カウンタを返す
-(int)retainCount
メモリ領域の解放
-(void)dealloc
クラスを返す
+(Class)class
インスタンスのコピーを返す
-(id)copy
インスタンスの可変コピーを返す
-(id)mutableCopy
オブジェクトが同じかどうか比較する
-(BOOL)isEqual:(id)object
クラスが同じであるか比較する
-(BOOL)isMemberOfClass:(Class)class
サブクラスであるか比較する
-(BOOL)isKindOfClass:(Class)class
オブジェクトをNSString形式で返す
-(NSString*)description
指定したタイミングでメソッドを呼び出す
-(void)performSelector:(SEL)aSelector withObject:(id)anArgument
例:[self performSelector:@selector(print:) withObject:@”テスト” afterDelay:2.5f];
-(void)print:(NSString*) str { NSLog(str); }
指定したメソッドをバックグラウンドで実行する
-(void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg
例:[self performSelectorBackground:@selector(print:) withObject:@”テスト” ];
-(void)print:(NSString*) str { NSLog(str); }
================================
NSNumber : C言語の数値の型をオブジェクトで扱うクラス。 ラッパークラスと呼ばれる。
================================
◆階層
NSObject ← NSValue ← NSNumber
◆生成
short型から生成する
+(NSNumber *)numberWithShort:(short)value
例:NSNumber *num = [NSNumber numberWithShort:32767];
int型から生成する
+(NSNumber *)numberWithInt:(int)value
例:NSNumber *num = [NSNumber numberWithInt:1234];
long型から生成する
+(NSNumber *)numberWithLong:(long)value
例:NSNumber *num = [NSNumber numberWithLong:1234];
float型から生成する
+(NSNumber *)numberWithFloat:(float)value
例:NSNumber *num = [NSNumber numberWithFloat:42.195f];
double型から生成する
+(NSNumber *)numberWithDouble:(double)value
例:NSNumber *num = [NSNumber numberWithDouble:3.1415f];
BOOL型から生成する
+(NSNumber *)numberWithBool:(BOOL)value
例:NSNumber *num = [NSNumberWithBool:YES];
char型から生成する
+(NSNumber *)numberWithChar:(char)value
例:NSNumber *num = [NSNumber numberWithChar:a];
◆メソッド
NSString型にキャスト(型変換)する
-(NSString*)stringValue
short型にキャストする
-(short)shortValue
int型にキャストする
-(int)intValue
long型にキャストする
-(long)longValue
float型にキャストする
-(float)floatValue
double型にキャストする
-(double)doubleValue
BOOL型にキャストする
-(BOOL)boolValue
char型にキャストする
-(char)charValue
同じかどうか比較する
-(BOOL)isEqualToNumber
大小を比較する
-(NSComparisonResult)compare:(NSNumber*)aNumber
================================
NSString : 文字列を扱うクラス。 変更不可。
================================
◆階層
NSObject ← NSString
◆生成
コンパイラディレクティブを使用して生成する
+(id)stringWithString:(NSString *)aString
例:NSString *str = @”テスト”;
NSString *str = [NSString stringWithString:@”テスト”];
置換文字列を使用して生成する
+(id)stringWithFormat:(NSString *)format, …
例:NSString *str = [NSString stringWithFormat:@”%@は%fkmです。”,@”フルマラソン”,42,195];
配列を生成する
例:NSString *strs[] = {@”あ”,@”い”,@”う”};
◆メソッド
文字列の長さを取得する
-(unsigned) length
同じ文字列であるか比較する
-(BOOL) isEqualToString:(NSString*)string
文字列を結合する
-(NSString*)stringByAppendingString:(NSString*)string
文字列を切り出す
-(NsString*)substringToIndex:(unsigned)anIndex
トリムする
-(NSString*)stringByTrimmingCharactersInSet:(NSCharacterSet*)set
例:NSString *str=[@” ABC ” stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
文字列の先頭を比較する
-(BOOL)hasPrefix:(NSString*)string
文字列の後方を比較する
-(BOOL)hasSuffix:(NSString)string
文字列中の文字を検索する
-(NSRange)rangeOfString:(NSString)aString
例:NSString sr = [@AAABBB” rangeOfString:@”AA”];
if(sr.location!=NSNotFound) {/*見つかった時の処理*/} else{/*見つからなかった時の処理*/}
int型にキャストする
-(int)intValue
float型にキャストする
-(float)floatValue
double型にキャストする
-(double)doubleValue
BOOL型にキャストする
-(BOOL)boolValue
================================
NSMutableString : 文字列を扱うクラス。 変更可能。
================================
◆階層
NSObject ← NSString ← NSMutableString
◆生成
空のNSMutableStringを生成する
+(id)string
例:NSMutableString *mstr=[NSMutableString string];
文字列を指定して生成する
+(id)stringWithString:(NSString *)aString
例:NSMutableString *mstr=[NSMutableString stringWithString:@”テスト”];
◆メソッド
文字列を追加(結合)する
-(void)appendString:(NSString*)aString
文字列を置き換える
-(void)setString:(NSString*)aString
指定した位置に文字列を挿入する
-(void)insertString:(NSString*)aString atIndex:(unsigned)anString
指定した位置の文字を削除する
-(void)deleteCharactersInRange:(NSRange)aRange
例:[mstr deleteCharactersInRange:NSMakeRange(2,3)];
指定した位置の文字列を置き換える
-(void)replaceCharactersInRange:(NSRange)aRange withString:(NSString*)aString
例:[mstr replaceCharactersInRange:NSMakeRange(2,3) withString:@”X”];
================================
NSArray : オブジェクトをリストで管理するコレクションクラス。 変更不可。
================================
◆階層
NSObject ← NSArray
◆メソッド
xxxWithを使用して生成する
+(id)arrayWithObjects:(id)firstObj, …
例:NSArray *ar = [NSArray arrayWithObjects:@”東京”,@”大阪”,@”名古屋”,nil];
initWithを使用して生成する
-(id)initWithObjects:(id)firstObj, …
例:NSArray *ar = [[NSArray alloc] initWithObjects:@”東京”,@”大阪”,@”名古屋”,nil];
◆メソッド
要素数を返す
-(NSUInteger)count
指定した位置の要素を返す
-(id)objectAtIndex:(NSUInteger)index
一番最後の要素を返す
-(id)lastObject
リストが同じであるか比較する
-(BOOL)isEqualToArray:(NSArray*)otherArray
ある要素が含まれているか比較する
-(BOOL)containsObject:(id)anObject
空の配列を返す
+(id)array
================================
NSMutableArray : オブジェクトをリストで管理するコレクションクラス。 変更可能。
================================
◆階層
NSObject ← NSArray ← NSMutableArray
◆生成
空のリストを生成する
+(id)array
例:MSMutableArray *mar = [NSMutableArray array];
要素を指定して生成する
+(id)arrayWithObjects:(id)firstObj, …
例:NSMutableArray *mar = [NSArray arrayWithObjects:@”東京”,@”大阪”,@”名古屋”,nil];
◆メソッド
リストの末尾に要素を追加する
-(void)addObject:(id)anObject
指定した位置に要素を挿入する
-(void)insertObject:(id)anObject atIndex:(unsigned)index
指定した位置の要素を入れ替える
-(void)replaceObjectAtIndex:(unsigned)index withObject:(id)anObject
リストの全要素を削除する
-(void)removeAllObjects
指定したオブジェクトと同じ要素をリストから削除する
-(void)removeObjectAtIndex:(unsigned)index
リストから範囲を指定して要素を削除する
-(void)removeObjectInRange:(NSRange)aRange
リストの末尾の要素を削除する
-(void)removeLastObject
リストの要素を入れ替える
-(void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2
================================
NSSet : 要素の重複を許さないコレクションクラス。 変更不可。
================================
◆階層 NSObject ← NSSet
◆生成
xxxWithを使用して生成する
+(id)setWithObjects:(id)firstObj …
例:NSSet *s = [NSSet setWithObjects:@”あ”,@”い”,@”う”,nil];
initWithを使用して生成する
-(id)initWithObjects:(id)firstObj …
例:NSSet *s = [[NSSet alloc] initWithObjects:@”あ”,@”い”,@”う”,nil];
◆メソッド
件数を取得する
-(NSUInteger)count
全ての要素をNSArray型で取得する
-(NSArray*)allObjects
指定した要素が存在するか判定する
-(BOOL)containsObject:(id)anObject
================================
NSMutableSet : 要素の重複を許さないコレクションクラス。 変更可能。
================================
◆階層
NSObject ← NSSet ← NSMutableSet
◆生成
空のコレクションを生成する
+(id)set
例:NSMutableSet *ms = [NSMutableSet set];
要素を指定してコレクションを生成する
+ (id)setWithObjects:(id)firstObj …
例:NSMutableSet *ms = [NSMutableSet setWithObjects:@”あ”,@”い”,@”う”,nil];
◆メソッド
要素を追加する
-(void)addObject:(id)object
要素を削除する
-(void)removeObject:(id)object
全要素を削除する
-(id)removeAllObjects
================================
NSDictionary : キー値と要素を対にして保持する配列クラス。 変更不可。
================================
◆階層
NSObject ← NSDictionary
◆生成
値とキー値を指定して生成する
+(id)dictionaryWithObject:(id)anObject forKey:(id)aKey
例:NSDictionary *dic = [NSDictionary dictionaryWithObject:@”テスト” forKey:@”key”];
値とキー値を複数してして生成する
+(id)dictionaryWithObjectsAndKeys:(id)firstObject , …
例:NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@”伊達”,@”姓”,@”直人”,@”名”,nil]
NSArray型のキー値と値を指定して生成する
例:NSArray *key = [NSArray arrayWithObjects:@”姓”,@”名”,nil];
NSArray *val = [NSArray arrayWithObjects:@”だて”,@”なおと”,nil];
NSDictionary *dic = [NSDictionary dictionaryWithObjects:val forKey:key];
◆メソッド
指定したキーの要素を取り出す
-(id)objectForKey:(id)aKey
要素数を返す
-(NSUInteger)count
ディクショナリが同じか比較する
-(BOOL)isEqualToDictionary:(NSDictionary*)otherDictionary
ディクショナリからキーだけのリストを取得する
-(NSArray*)allKeys
ディクショナリから要素だけのリストを取得する
-(NSArray*)allValues
================================
NSMutableDictionary : キー値と要素を対にして保持する配列クラス。 変更可能。
================================
◆階層
NSObject ← NSDictionary ← NSMutableDictionary
◆生成
空の可変ディクショナリを生成する
+(id)dictionary
例:NSMutableDictionary *mdic = [NSMutableDictionary dictionary];
◆メソッド
要素を追加する
-(void)addObject:(id)anObject forKey:(id)akey
指定したキーの要素を削除する
-(void)removeObjectForKey:(id)aKey
別のディクショナリで上書きする
-(void)setDictionary:(NSDictionary*)otherDictionary
ディクショナリから全要素を削除する
-(void)removeAllObjects
================================
NSData : バイト列のデータを扱うクラス。 変更不可。
================================
◆階層
NSObject ← NSData
◆生成
ファイル(test.png)からNSDataを生成する
- (id)initWithContentsOfFile:(NSString *)path
例:NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@”test” ofType:@”png”];
NSData *d = [[NSData alloc]initWithContentsOfFile:path];
NSDictionaryからNSDataを生成し、NSDictionaryに戻す
NSKeyedArchiverクラス + (NSData *)archivedDataWithRootObject:(id)rootObject
例:NSDictionary *dic = [NSDictionary dictionaryWithObject:@”伊達直人” forKey:@”名前”];
NSData *d = [NSKeyedArchiver archivedDataWithRootObject:dic];
NSDictionary *reverse = [NSKeyedUnarchive unarchiveObjectWithData:d];
◆メソッド
サイズを取得する
-(NSUInteger)length
================================
NSMutableData : バイト列のデータを扱うクラス。 変更可能。
================================
◆階層
NSObject ← NSData ← NSMutableData
◆生成
空のNSMutableDataを生成する
+(id)data
例:NSMutableData *md = [NSMutableData data];
サイズを指定して生成する
-(id)initWithLength:(NSUInteger)length
例:NSMutableData *md = [[NSMutableData alloc]initWithLength:100];
◆メソッド
データを追加する
-(void)appendData:(NSData*)other
データを置き換える
-(void)setData:(NSData*)data
データを指定したさサイズに変更する
-(void)setLength:(NSUInteger)length
================================
NSDate : 日付と時間を管理するクラス。
================================
◆階層
NSObject ← NSDate
◆生成
現在時刻で生成する
+(id)date
例:NSDate *date = [NSDate date];
指定した日付・時刻で生成する
-(id)initWithString:(NSString *)numericString
例:NSDate *date = [[NSDate alloc]initWithString:@”2011-01-25 12:00:00 +0900″];
◆メソッド
日付を文字列にして返す
-(NSString*)description
日付を比較して過去の日付を返す
-(NSDate*)earlierDate:(NSDate*)anotherDate
同じ日付かどうか判定する
-(BOOL)isEqualToDate:(NSDate*)anotherDate
現在時刻から指定した秒数だけ前後した時刻を取得する
+(id)dateWithTimeIntervalSinceNow:(NSTimeInterval)seconds
例:NSDate *d = [NSDate dateWithTimeIntervalSinceNow:86400*7];
NSDateFormatterクラスを使って、日付を任意の形式の文字列で取得する
例:NSDateFormatter *df = [[NSDateFormatter alloc]init];
[df setDateFormat:@”yyyy/mm/dd HH:mm:ss”];
NSString *str = [df stringFromDate:[NSDate date]];
================================
NSURL : webページのURLを管理するクラス。
================================
◆NSObject ← NSURL
◆生成
HTTPからNSURLを生成する
+(id)URLWithString:(NSString *)URLString
例:NSURL *url = [NSURL URLWithString:@”http://xxx”];
ファイル(test.mov)からNSURLを生成する
+(id)fileURLWithPath:(NSString *)path
例:NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@”test” ofType:@”mov”]];
◆メソッド
URLを返す
-(NSString*)absoluteString
URLのホスト名を返す
-(NSString*)host
URLのパスを返す
-(NSString*)path
URLのポート番号を返す
-(NSNumber*)port
ファイルのURLかどうか判定する
-(BOOL)isFileURL
================================
NSTimer : タイマーを管理するクラス。
================================
◆階層
NSObject ← NSTimer
◆生成
タイマーを生成する
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds invocation:(NSInvocation *)invocation repeats:(BOOL)repeats
例:NSTimer *tm =
[NSTimer scheduledTimerWithTimeInterval:1.5f terget:self
selector:@selector(timerProc:) userInfo:nil repeats:YES]
//呼び出される処理
-(void)timerProc:(NSTimer*)timer{/*ここに処理を書く*/}
◆メソッド
タイマーを開始する
-(void)fire
タイマーを停止する
-(void)invalidate
タイマーが動いているかどうか判定する
-(BOOL)isValid
================================
NSNotificationCenter : イベントの通知を管理するクラス。
================================
◆階層
NSObject ← NSNotificationCenter
◆生成
デフォルトの通知センターを取得する
+(id)defaultCenter
例:NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
◆メソッド
通知要求の登録を行う
-(void)addObserver:(id)notificationObserver selector:(SEL)notificationSelector name:(NSString*)nitificationName object:(id)notificationSender
登録済みの通知要求を削除する
-(void)removeObserver:(id)notificationObserver
通知を行う
-(void)postNotification:(NSNotification*)notification
================================
NSNotification : イベント通知の通知内容を保持するクラス。
================================
◆階層
NSObject ← NSNotification
◆生成
値の通知なしで生成・通知する
+(id)notificationWithName:(NSString *)aName object:(id)anObject
例://送信側
NSNotification *n = [NSNotification notificationWithName:@”post01″ object:self];
[[NSNotificationCenter defaultCenter]postNotification:n];
//受信側
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(postProc:) name:@”post01″ object:nil]
//受信時のメソッド
-(void)postProc{
//ここに処理を書く
}
値の通知ありで生成・通知する
+(id)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)userInfo
例://送信側
NSDictionary *info = [NSDictionary dictionaryWithObject:@”test” forKey:@”KEY”];
NSNotification *n = [NSNotification notificationWithName:@”post01″ object:self userInfo:info];
[[NSNotificationCenter defaultCenter]postNotification:n];
//受信側
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(postProc:) name:@”post01″ object:nil]
//受信時のメソッド
-(void)postProc:(NSNotificationCenter*)center{
NSString *val =[[center userInfo]objectForKey:@”KEY”];
}
通知名称を取得する
-(NSString*)name
================================
NSUserDefaults : アプリ終了後でも情報を保持するクラス。
================================
◆階層
NSObject ← NSUserDefaults
◆生成
NSUserDefaultsを生成する
+(NSUserDefaults *)standardUserDefaults
例:NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
◆メソッド
int型のデータを保持する
-(void)setInteger:(NSInteger)value forKey:(NSString*)defaultName
float型のデータを保持する
-(void)setFloat:(float)value forKey:(NSString*)defaultName
double型のデータを保持する
-(void)setDouble:(double)value forKey:(NSString*)defaultName
BOOL型のデータを保持する
-(void)setBool:(BOOL)value forKey:(NSString*)defaultName
オブジェクトを保持する
-(void)setObject:(id)value forKey:(NSString*)defaultName
※対象オブジェクト:NSString型、NSNumber型、NSArray型、NSDictionary型、NSData型、NSDate型
デフォルト値を設定する
-(void)registerDefaults:(NSDictionary*)dictionary
例://NSUserDefaultsに初期値を登録する
NSUserDefault *ud = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *default =[NSMutableDictionary dictionary];
[default setObject:@”伊達直人” forKey:@”name”];
[ud registerDefaults:default];
保存する情報を即時に反映する
-(BOOL)synchronize
例://NSUserDefaultsに保存・変更する
NSUserDefault *ud = [NSUserDefaults standardUserDefaults];
[default setObject:@”伊達直人2” forKey:@”name”];
[ud synchronize];
int型としてデータを読み込む
-(NSInteger)integerForKey:(NSString*)defaultName
float型としてデータを読み込む
-(float)floatForKey:(NSString*)defaultName
double型としてデータを読み込む
-(double)doubleForKey:(NSString*)defaultName
BOOL型としてデータを読み込む
-(BOOL)boolForKey:(NSString*)defaultName
NSString型としてデータを読み込む
-(NSString*)stringForKey:(NSString*)defaultName
NSArray型としてデータを読み込む
-(NSArray*)arrayForKey:(NSString*)defaultName
NSString型として構成されたNSArray型、としてデータを読み込む
-(NSArray*)stringArrayForKey:(NSString*)defaultName
NSDictionary型としてデータを読み込む
-(NSDictionary*)dictionaryForKey:(NSString*)defaultName
NSData型としてデータを読み込む
-(NSData*)dataForKey:(NSString*)defaultName
id型としてデータを読み込む
-(id)objectForKey:(NSString*)defaultName
================================
NSBundle : アプリのリソース(クラス、xib、画像など)をまとめて管理するクラス。
================================
◆階層
NSObject ← NSBundle
◆生成
NSBundleを生成する
+(NSBundle *)mainBundle
例:NSBundle *bundle = [NSBundle mainBundle];
バンドルのパスを取得する
-(NSString*)bundlePath
バンドルのIDを取得する
-(NSString*)bundleIdentifier
指定したリソースのパスを取得する
-(NSString*)pathForResource:(NSString*)name ofType:(NSString*)ext
バンドルの情報を取得する
-(NSSictionary*)infoDictionary
例://バンドル情報を取得してNSLogに出力する
NSDictionary *dic = [bundle infoDictionary];
NSArray *keys = [dic allKeys];
NSArray *vals = [dic allValues];
for(int i;i<[keys count];i++){
NSLog(@”キー:%@ 値:%@”,[keys objectAtIndex:i],[vals objectAtIndex:i]);
}
================================
NSValue : CGRect,NSRangeなどの構造体をオブジェクトに変換するクラス。
================================
◆階層
NSObject ← NSValue
◆生成
CGRectのNSValueを生成する
+(NSValue *)valueWithCGRect:(CGRect)rect
例:NSValue *val = [NSValue valueWithCGRect:CGRectMake(0,0,100,100)];
CGPointのNSValueを生成する
+(NSValue *)valueWithCGPoint:(CGPoint)point
例:NSValue *val = [NSValue valueWithCGPoint:CGPointMake(0,0)];
CGSizeのNSValueを生成する
+(NSValue *)valueWithCGSize:(CGSize)size
例:NSValue *val = [NSValue valueWithCGSize:CGSizeMake(100,100)];
NSRangeのNSValueを生成する
+(NSValue *)valueWithRange:(NSRange)range
例:NSValue *val = [NSValue valueWithNSRange:NSMakeRange(0,50)];
◆メソッド
NSValueをCGRectとして取得する
-(CGRect)CGRectValue
NSValueをCGPointとして取得する
-(CGPoint)CGPointValue
NSValueをCGSizeとして取得する
-(CGSize)CGSizeValue
NSValueをNSRangeとして取得する
-(NSRange)rangeValue
================================
CGRect : 対象オブジェクトの位置、サイズを管理するクラス
================================
◆生成
CGRectを生成する
CGRect CGRectMake ( CGFloat x, CGFloat y, CGFloat width, CGFloat height );
例:CGRect rect = CGRectMake(0,0,100,100);
位置、幅、高さが0のCGRectを生成する
CGRect CGRectZero;
例:CGRect rect = CGRectZero;
◆プロパティ
位置座標xを取得する
例:float label_x = label.frame.origin.x;
位置座標yを取得する
例:float label_y = label.frame.origin.y;
幅を取得する
例:float label_w = label.frame.size.width;
高さを取得する
例:float label_h = label.frame.size.height;
================================
CGPoint : 対象オブジェクトの位置を管理するクラス
================================
◆生成
CGPointを生成する
CGPoint CGPointMake (CGFloat x, CGFloat y);
例:CGPoint point = CGPointMake(200,300);
◆プロパティ
位置座標xを取得する
例:float loc_x = point.x;
位置座標yを取得する
例:float loc_y = point.y;
================================
CGSize : 対象オブジェクトのサイズを管理するクラス
================================
◆生成
CGSizeを生成する
CGSize CGSizeMake (CGFloat width,CGFloat height);
例:CGSize sz = CGSizeMake(100,50);
◆プロパティ
幅を取得する
例:float w = sz.width;
高さを取得する
例:float h = sz.height
================================
UIColor : 色を管理するクラス
================================
◆階層
NSObject ← UIColor
◆生成
色の割合を指定して生成する
+(CIColor *)colorWithRed:(CGFloat)r green:(CGFloat)gblue:(CGFloat)b
例:UIColor *color = [UIColor colorWithRed:0.0 green:0.5 blue:1.0 alpha:1.0];
定義済みの色を指定して生成する
+(UIColor *)whiteColor
例:UIColor *color = [UIColor whiteColor];
画像を指定してパターンを生成する
-(UIColor *)initWithPatternImage:(UIImage *)image
例:UIImage *img = [UIImage imageNamed:@”test.png”];
UIColor *color = [[UIColor alloc]initWithPatternImage:img];
================================
UIFont : 文字フォント、スタイル、サイズを管理するクラス。
================================
◆階層
NSObject ← UIFont
◆生成
フォント名とサイズを指定して生成する
+(NSFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize
例:UIFont *font = [UIFont fontWithName:@”Arial” size:20];
スタイルとサイズを指定して生成する
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize
例:UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
◆プロパティ
フォントファミリー名を取得する(r)
例:NSString *str = font.familyName;
フォント名を取得する(r)
例:NSString *str = font.fontName;
フォントサイズを取得する(r)
例:CGFloat *f = font.pointSize;
行の高さを取得する(r)
例:CGFloat *f = font.lineHeight;
大文字の高さを取得する(r)
例:CGFloat *f = font.capHeight;
小文字の高さを取得する(r)
例:CGFloat *f = font.capHeight;
アセンダを取得する(r)
例:CGFloat *f = font.ascender;
ディセンダを取得する(r)
例:CGFloat *f = font.descender;
◆メソッド
指定されたサイズの標準スタイルのフォントを返す
+(UIFont*)systemFontSize:(CGFloat)fontSize
指定されたサイズの太字スタイルのフォントを返す
+(UIFont*)boldSystemFontOfSize(CGFloat)fontSize
指定された斜体スタイルのフォントを返す
+(UIFont)italicSystemFontOfSize:(CGFloat)fontSize
標準サイズを返す
+(CGFloat)systemFontSize
標準サイズより小さめなサイズを返す
+(CGFloat)smallSystemFontSize
ラベルで使用される標準的なサイズを返す
+(CGFloat)labelFontSize
ボタンで使用される標準的なサイズを返す
+(CGFloat)buttonFontSize
使用できるフォントファミリー名を返す
+(NSArray*)familyNames
================================
UIImage : 画像を管理するクラス。
================================
◆階層
NSObject ← UIImage
◆生成
画像ファイル名を指定してUIImageを生成する
+(UIImage *)imageNamed:(NSString *)name
例:UIImage *img =[UIImage imageNamed:@”sample.png”];
URLを指定してUIImageを生成する
-(id)initWithData:(NSData *)data
例:NSData *dt = [NSData dataWithContentsOfURL:[NSURL URLWithString:@”http://xxx/aa.png”]];
UIImage *img = [[NSImage alloc]initWithData:dt];
◆プロパティ
画像サイズを取得する(r)
例:CGSize cd = img.size;
画像の横幅を取得する(r)
例:float width = img.size.width;
画像の高さを取得する(r)
例:float height = img.size.height;
================================
UIScreen : 画面サイズを管理するクラス。
================================
◆階層 NSObject ← UIScreen
◆生成
UIScreenを生成する
+(UIScreen *)mainScreen
例:UIScreen *sc = [UIScreen mainScreen];
◆プロパティ
ステータスバー領域を含む画面サイズを返す(r)
例:CGRect cr = [UIScreen mainScreen].bounds;
ステータスバー領域を含まない画面サイズを返す(r)
例:CGRect cr = [[UIScreen mainScreen]applicationFrame];
================================
UIDevice : デバイス(iPhone)の様々な情報を取得したり設定したりするクラス。
================================
◆階層
NSObject ← UIDevice
◆生成
UIDeviceを生成する
例:UIDevice *dev = [UIDevice currentDevice];
◆プロパティ
デバイスIDを取得する(r)
例:NSString *str = dev.uniqueIdentifier;
OS名を取得する(r)
例:NSString *str = dev.systemName;
OSのバージョンを取得する(r)
例:NSString *str = dev.systemVersion;
デバイスの向きを取得する(r)
例:UIDeviceOrientation org = [UIDevice currentDevice].orientation;
//デバイスの向きを判定する
UIDeviceOrientation org;
org = [UIDevice currentDevice].orientation;
if(org == UIDeviceOrientationPortrait) {
//デバイスが縦の場合の処理を記述する
}
※向きの意味
UIDeviceOrientationUnknown ”不明”
UIDeviceOrientationPortrait ”縦”
UIDeviceOrientationPortraitUpsideDown ”縦で上下逆さ”
UIDeviceOrientationLandscapeLeft ”横上部左”
UIDeviceOrientationLandscapeRight ”横上部右”
UIDeviceOrientationFaceDown ”画面が下”
バッテリーの残量を監視するかどうか設定する
例:dev.batteryMonitoringEnabled = YES;
バッテリーの残量を取得する(r)
例:float lv = dev.batteryLevel;
バッテリーの充電状態を取得する(r)
例:UIDeviceBatteryStat st = [UIDevice currentDevice].batteryState;
//デバイスの充電状態を判定する
if( [UIDevice currentDevice].batteryState == UIDeviceBatteryStateUnplugged ) {
//バッテリー使用中の場合の処理を記述する
}
※バッテリー状態の意味
UIDeviceBatteryStateUnknown バッテリー状態取得不能
UIDeviceBatteryStateUnplugged バッテリー使用中
UIDeviceBatteryStateCharging バッテリー充電中
UIDeviceBatteryStateFull バッテリーフル充電状態
近接センサーの有効・無効を設定する(r) dev.proximityMonitoringEnabled = YES;
================================
UINavigationItem : ナビゲーションバーの表示に関する設定を行うクラス。
================================
◆階層
NSObject ← UINavigationItem
◆プロパティ
タイトルを設定する
例:self.navigationItem.title = @”テストタイトル”;
プロンプトを設定する
例:self.navigationItem.prompt = @”テストプロンプト”;
左側に表示されるアイテムを設定する
例:self.navigationItem.leftBarButtonItem = leftItem; //UIBarButtonItem
右側に表示されるアイテムを設定する
例:self.navigationItem.rightBarButtonItem = rightItem; //UIBarButtonItem
UIViewを設定する
例:self.navigationItem.titleView = obj; //UIView
戻るボタンの表示を設定する
例:self.navigationItem.backBarButtonItem = backItem; //UIBarButtonItem
================================
UIAccelerometer : 加速度を取得するクラス。
================================
◆階層
NSObject ← UIAccelerometer
◆生成
UIAccelerometerを生成する
例:UIAccelerometer *acc = [UIAccelerometer sharedAccelerometer];
◆プロパティ
デリゲートを指定する
例:acc.delegate = self;
通知間隔を指定する
例:acc.updateInterval=1.0f/10.0f;
◆メソッド
通知時に呼ばれるメソッド
-(void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
================================
UIResponder : 画面タッチやシェイクなどのイベントを管理するクラス。
================================
◆階層
NSObject ← UIResponder
◆メソッド
ファーストレスポンダかどうかを判定する
-(BOOL)isFirstResponder
次のレスポンダを返す
-(UIResponder*)nextResponder
ファーストレスポンダにする
-(BOOL)becomeFirstResponder
ファーストレスポンダでなくす
-(BOOL)resignFirstResponder
◆デリゲートメソッド
タッチ時に呼ばれるデリゲートメソッド
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
ドラッグ時に呼ばれるデリゲートメソッド
-(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
タッチが外れた時に呼ばれるデリゲートメソッド
-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
タッチがキャンセルされた時に呼ばれるデリゲートメソッド
-(void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent*)event
モーションイベントの開始を検知した時に呼ばれるデリゲートメソッド
-(void)motionBegan:(UIEventSubType*)motion withEvent:(UIEvent*)event
モーションイベントの終了を検知した時に呼ばれるデリゲートメソッド
-(void)motionEnded:(UIEventSubType*)motion withEvent:(UIEvent*)event
モーションイベントがキャンセルされた時に呼ばれるデリゲートメソッド
-(void)motionCancelled:(UIEventSubType*)motion withEvent:(UIEvent*)event
================================
UIApplication : アプリケーション全体を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIApplication
◆生成
UIApplicationを生成する
例:UIApplication *app = [UIApplication sharedApplication];
◆プロパティ
自動スリープの設定
例:app.idleTimerDisabled = YES;
アプリケーションバッジの設定
例:app.applicationIconBadgeNumber = 0;
インジケータの設定
例:app.networkActivityIndicatorVisible = YES;
ステータスバーのスタイルの設定
例:app.statusBarStyle = UIStatusBarStyleDefault;
※スタイルの意味
UIStatusBarStyleDefault ”デフォルト”
UIStatusBarStyleBlackOpaque ”黒”
UIStatusBarStyleBlackTranslucent ”透明”
ステータスバーの表示・非表示の設定
例:app.statusBarHidden = YES;
◆メソッド
指定されたURLのサイトを呼び出す
-(BOOL)openURL:(NSURL*)url
アプリケーションインスタンスを返す
+(UIApplication*)sharedApplication
◆デリゲートメソッド
アプリがアクティブでなくなる直前に呼ばれるデリゲートメソッド
-(void)applicationWillResignActive:(UIApplication*)application
アプリがバッググランドになった時に呼ばれるデリゲートメソッド
-(void)applicationDidEnterBackground:(UIApplication*)application
アプリがバッググランドからフォアグランドになる直前に呼ばれるデリゲートメソッド
-(void)applicationWillEnterForeground:(UIApplication*)application
アプリがアクティブになった時に呼ばれるデリゲートメソッド
-(void)applicationDidBecomeActive:(UIApplication*)application
アプリがバッググランド実行中に終了された時に呼ばれるデリゲートメソッド
-(void)applicationWillTerminate:(UIApplication*)application
================================
UIViewController : 画面の遷移などを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIViewController
◆生成
UIViewControllerを生成する
例:UIViewController *vc = [[UIViewController alloc]init];
xibファイル(TestView.xib)から生成する
例:UIViewController *vc = [[UIViewController alloc]initWithNibName:@”TestView” bundle:[NSBundle mainBundle]];
◆プロパティ
タイトルを設定する
例:vc.title = @”テストタイトル”;
ナビゲーションバーに表示するオブジェクト(r)
例:UINavigationItem *ni = vc.navigationItem;
タブバーに表示するオブジェクト
例:vc.tabBarItem = tabBarItem; //UITabBarItem
モーダルとして呼ばれた時のアニメーションを指定する
例:vc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
※スタイルの意味
UIModalTransitionStyleCoverVertical ”下から出るスタイル”
UIModalTransitionStyleFlipHorizontal ”回転して出るスタイル”
UIModalTransitionStyleCrossDissolve ”浮かびあがってくるスタイル”
画面プッシュ時にタブバーを隠すかどうかの設定
例:vc.hidesBottomBarWhenPushed = YES;
当UIViewControllerが管理するUIViewをセット・取得する
例:vc.view = testView; //UIView
ナビゲーションコントローラを取得する(r)
UINavigationController *vc2 = vc.navigationController;
◆メソッド
画面をモーダルとして呼び出す
-(void)presentModalViewController:(UIViewController*)modalViewController animated:(BOOL)animated
例:[self presentModalViewController:mView animated:YES];
モダールとして呼ばれた画面を閉じる
-(void)dismissModalViewControllerAnimated:(BOOL)animated
例:[self dismissModalViewControllerAnimated:YES];
◆デリゲートメソッド
初回ロードされた時のみ呼び出されるデリゲートメソッド
-(void)viewDidLoad
画面が表示されるたびに呼び出されるデリゲートメソッド
-(void)viewWillAppear:(BOOL)animated
画面が表示された後に呼び出されるデリゲートメソッド
-(void)viewDidAppear:(BOOL)animated
画面が閉じる前に呼び出されるデリゲートメソッド
-(void)viewWillDisappear:(BOOL)animated
画面が閉じた後に呼び出されるデリゲートメソド
-(void)viewDidDisappear:(BOOL)animated
画面がアンロードされた時に呼び出されるデリゲートメソッド
-(void)viewDidUnload
メモリ不足の時に呼び出されるデリゲートメソッド
-(void)didReceiveMemoryWarning
画面回転をするかしないかの設定するデリゲートメソッド
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
例:- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)org {
if ((org == UIInterfaceOrientationPortrait) || (org == UIInterfaceOrientationLandscapeLeft)){
return YES;
} else {
return NO;
}
※向きの意味
UIInterfaceOrientationPortrait 基本の向き。
UIInterfaceOrientationPortraitUpsideDown 上下逆転。
UIInterfaceOrientationLandscapeLeft 横置き、ホームボタン左。
UIInterfaceOrientationLandscapeRight 横置き、ホームボタン右。
================================
UINavigationController : 階層的な画面遷移を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIViewController ← UINavigationController
◆生成
UINavigationControllerを生成する
-(id)initWithRootViewController:(UIViewController *)rootViewController
例:UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:mainView]
◆プロパティ
デリゲートを指定する
@property(nonatomic, assign) id delegate
例:nav.delegate = self;
管理している全画面をリストで返す
@property(nonatomic, copy) NSArray *viewControllers
例:NSArray *vcs = nav.viewControllers;
ナビゲーションバーの表示・非表示の設定
@property(nonatomic, getter=isNavigationBarHidden) BOOL navigationBarHidden
例:nav.navigationBarHidden = YES;
◆メソッド
画面を追加して、追加した画面を表示する
-(void)pushViewController:(UIViewController*)viewController animated:(BOOL)animated
1階層上の画面に遷移する
-(UIViewController*)popViewControllerAnimated:(BOOL)animated
ナビゲーションバーの表示・非表示の設定
-(void)setNavigationBarHidden:
ツールバーの表示・非表示設定
-(BOOL)hidden animated:(BOOL)animated
================================
UITabBarController : 並列的な画面遷移を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIViewController ← UITabBarController
◆生成
UITabBarControllerを生成する
例:UITabBarController *tbc = [[UITabBarController alloc]init];
◆プロパティ
デリゲートを指定する
例:tbc.delegate = self;
選択中の画面のインデックス
例:tbc.selectedIndex = 1;
選択中の画面
例:tbc.selectedViewController = mainViewController; //UIViewController
管理している画面
例:NSArray *ar = tb.viewController;
◆メソッド
画面を追加する
-(void)setViewControllers:(NSArray*)viewControllers animated:(BOOL)animated
例:NSArray *views = [NSArray arrayWithObjects:view1,view2,view3,nil];
[tbc setViewControllers:views animated:NO];
================================
UIImagePickerController カメラ、写真アルバム、フォトライブラリから画像を取得するクラス。
================================
◆階層
NSObject ← UIResponder ← UIViewController ← UINavigationController ← UIImagePickerController
◆生成
UIImagePickerControllerを生成する
例:UIImagePickerController *ipc = [[[UIImagePickerController alloc]init]autorelease];
◆プロパティ
デリゲートを指定する
例:ipc.delegate = self;
画像の取得先を指定する
例:ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
※取得先の意味
UIImagePickerControllerSourceTypePhotoLibrary フォトライブラリー
UIImagePickerControllerSourceTypeCamera カメラ
UIImagePickerControllerSourceTypeSavedPhotosAlbum フォトアルバム
取得した画像を編集するかどうか指定する
例:ipc.allowsEditing = YES;
◆メソッド
指定した画像の取得先が使用できるかどうか判定する
+(BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType
◆デリゲートメソッド
画面が選択された時に呼ばれるデリゲートメソッド
-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingImage:(UIImage*)image editingInfo:(NSDictionary*)editingInfo
画像の選択をキャンセルした時に呼ばれるデリゲートメソッド
-(void)imagePickerControllerDidCancel:(UIImagePickerController*)picker
================================
UIView : 画面表示を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView
◆生成
UIViewを生成する
例:UIView *uv = [[UIView alloc]init];
サイズを指定して生成する
例:UIView *uv [[UIView alloc]initWithFrame:CGRectMake(0,0,100,100)];
◆プロパティ
位置とサイズを指定する
例:uv.frame = CGRectMake(0,0,100,80);
uv.frame = self.view.bounds;
中心位置を指定する
例:uv.center = CGPointMake(200,300);
背景色を指定する
例:uv.backgroundColor = [UIColor blueColor];
表示・非表示を設定する
例:uv.hidden = YES;
子要素の自動調整
例:uv.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin;
※自動調整の種類
UIViewAutoresizingNone 自動調整なし
UIViewAutoresizingFlexibleHeight 高さを自動調整
UIViewAutoresizingFlexibleWidth 幅を自動調整
UIViewAutoresizingFlexibleLeftMargin 左を自動調整
UIViewAutoresizingFlexibleRightMargin 右を自動調整
UIViewAutoresizingFlexibleBottomMargin 下を自動調整
UIViewAutoresizingFlexibleTopMargin 上を自動調整
サイズ変更時の自動調整の設定
例:uv.contentMode = UIViewContentModeScaleAspectFit;
※自動調整の種類
UIViewContentModeScaleToFill フレームサイズに合わせる
UIViewContentModeScaleAspectFit 縦横比を保持しフレームサイズに合わせる
UIViewContentModeScaleAspectFill 縦横比を保持しフレームサイズに合わせて切り抜かれる
UIViewContentModeRedraw 強制的に無効にして、drawRect:メソッドを呼び出す
UIViewContentModeCenter 中央
UIViewContentModeTop 上辺
UIViewContentModeBottom 下辺
UIViewContentModeLeft 左辺
UIViewContentModeRight 右辺
UIViewContentModeTopLeft 左上角
UIViewContentModeTopRight 右上角
UIViewContentModeBottomLeft 左下角
UIViewContentModeBottomRight 右下角
UIViewにタグを付ける
例:uv.tag = 1;
透過を設定する
例:uv.alpha = 0.5;
自分の親のUIViewクラスを取得する(r)
例:UIView *spv = uv.superview;
自分の子のUIViewクラスを取得する(r)
例:NSArray *suv = uv.subviews;
アフィン変換を指定する
例:uv.transform = CGAffineTransformMakeRotation(M_PI * 90/180.0); //90度回転
uv.transform = CGAffineTransformMakeRotation(M_PI ); //180度回転
uv.transform = CGAffineTransformMakeScale(0.8,0.5); //横0.8倍 縦0.5倍
uv.transform = CGAffineTransformMakeScale(3.0,3.0); //縦横3倍
uv.transform = CGAffineTransformMakeTranslation(10,-20); //右に10px、上に20px移動
タッチの検知をするかしないか設定する
例:uv.userInteractionEnabled = YES;
◆メソッド
サブビューを追加する
-(void)addSubView:(UIView*)view
例:UIView *uv = [[UIView]init];
uv.frame = self.view.bounds;
uv.backgroundColor = [UIColor redColor];
[self.view addSubView:uv];
図形を描画するメソッド (viewを表示すると自動的に実行されるようだけど、こういうのはデリゲートじゃないのかな?)
-(void)drawRect:(CGRect)rect
例:-(void)drawRect:(CGRect)rect{
//直線を描画する
CGContextRef context = UIGraphicsGetCurrentContext(); //コンテキスト取得
CGContextMoveToPoint(context,30,30); //始点
CGContextAddLineToPoint(context,100,100); //終点
CGContextStrokePath(context); //描画
//四角形を描画する
CGContextRef context = UIGraphicsGetCurrentContext(); //コンテキスト取得
CGContextStrokeRect(context,CGRectMake(50,50,100,100)); //四角形
CGContextSetRGBFillColor(context,0.0,0.0,1.0,1.0); //塗りつぶしの色
CGContextFillRect(context,CGRectMake(50,50,100,100)); //塗りつぶし
//円を描画する
CGContextRef context = UIGraphicsGetCurrentContext(); //コンテキスト取得
CGContextStrokeEllipseInRect(context,CGRectMake(50,50,100,100)); //円
CGContextFillEllipseInRect(context,CGRectMake(50,50,100,100)); //塗りつぶし
}
コンテンツの大きさに合わせてUIViewの大きさを変える
-(void)sizeToFit
================================
UIWindow : 画面表示を管理するクラス。UIViewのサブクラスで、1アプリにUIWindowのオブジェクトを1つ作成する必要がる。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIWindows
◆生成
UIWindowを生成する
例:UIWindows *window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
================================
UILabel : ラベルを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UILabel
◆生成
UILabelを生成する
例:UILabel *label = [[UILabel alloc]init];
サイズを指定してUILabelを生成・表示する
例:UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10,10,100,50)];
label.backgroundColor = [UIColor yellowColor];
label.textColor = [UIColor blueColor];
label.font = [UIFont fontWithName:@”AppleGothic” size:12];
label.textAlignment = UITextAlignmentCenter;
label.text = @”テスト”;
[self.view addSubview:label];
◆プロパティ
テキストを設定する
例:label.text = @”テスト”;
フォントを設定する
例:label.font = [UIFont fontWithName:@”AppleGothic” size:12];
テキストの色を設定する
例:label.textColor = [UIColor blueColor];
横揃えを設定する
例:label.textAlignment = UITextAlignmentCenter
※横揃えの意味
UITextAlignmentCenter 中央
UITextAlignmentLeft 右
UITextAlignmentRight 左
表示可能最大行数を設定する
例:label.numberOfLines = 3; //3行
label.numberOfLines = 0; //無制限
表示文字が表示領域を超え場合に縮小するか設定する
例:label.adjustsFontSizeToFitWidth = YES;
最小フォントサイズを設定する
例:label.minimumFontSize = 8.0;
タッチを検知する化しないかを設定する
例:label.userInteractionEnabled = YES;
================================
UIProgressView : 進行状況を表示するバーを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIProgressView
◆生成
UIProgressViewを生成する
例:UIProgressView *pv = [[[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault] autorelease];
pv.frame = CGRectMake(0,0,200,10);
[self.view addSubview:pv]
※スタイルの意味
UIProgressViewStyleDefault 白地に青いバーのスタイル
UIProgressViewStyleBar 灰地に白いバーのスタイル
◆プロパティ
進捗の度合いを設定する
例:pv.progress = 0.8;
================================
UITableViewCell : テーブル内のセルを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UITableViewCell
◆生成
スタイルを指定して生成する
例:static NSString *cellIdentifier = @”Cell”;
UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
空のセルを生成する
例:static NSString *cellIdentifier = @”Cell”;
UITableViewCell *cell = [[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:cellIdentifier];
◆プロパティ
テキストを設定する
例:cell.textLabel.text = @”テスト”;
テキストの色を設定する
例:cell.textLabel.textColor = [UIColor blueColor];
フォントを設定する
例:cell.textLabel.font = [UIFont fontWithName:@”AppleGothic” size:12];
横揃えを設定する
例:cell.textLabel.textAlignment:UITextAlignmentCenter;
詳細テキストを設定する
例:cell.detailTextLabel.text = @”明細”;
詳細テキストの色を設定する
例:cell.detailTextLabel.textColor = [UIColor blueColor];
詳細テキストのフォントを設定する
例:cell.detailTextLabel.font = [UIFont fontWithName:@”AppleGothic” size:12];
詳細テキストの横揃えを設定する
例:cell.detailTextLabel.textAlignment:UITextAlignmentCenter;
画像を設定する
例:cell.imageView.image = [UIImage imageNamed:@”test.png”];
アクセサリの設定
例:cell.accessoryType = UITableCellAccessoryNone;
※アクセサリの意味
UITableCellAccessoryNone なし
UITableCellAccessoryDisclosureIndicator 左矢印
UITableCellAccessoryDetailDisclosureIndicator 丸付左矢印
UITableCellAccessoryCheckmark チェックマーク
セル選択時の色の設定
例:cell.selectionStyle = UITableViewCellSelectionStyleGray;
※アクセサリの意味
UITableViewCellSelectionStyleBlue 青色
UITableViewCellSelectionStyleGray 灰色
UITableViewCellSelectionStyleNone なし
================================
UIAlertView : アラートを表示させる特に使用するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIAlertView
◆生成
UIAlertViewを生成する
例:UIAlertView *alert = [[UIAlertView alloc]init];
生成と同時に各種設定も完了させる
例:UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@”タイトル” message:@”メッセージ” delegate:nil cancelButtonTitle:nil otherButtonTitle:@”OK”,nil]
◆プロパティ
デリゲートを指定する
例:alert.delegate = self;
タイトルを指定する
例:alert.title = @”確認”;
メッセージを指定する
例:alert.message = @”実行しても良いですか?”;
キャンセルボタンの位置を指定する
例:alert.cancelButtonIndex = 3;
ボタンの数を取得する(r)
例:int cnt = alert.numberOfBottons;
◆メソッド
ボタンを追加する
-(NSInteger)addButtonWithTitle:(NSString*)title
アラートを表示する
-(void)show
◆デリゲートメソッド
ボタンがタップされた時に呼び出されるデリゲートメソッド
-(void)alertView:(UIAlertView*)clickedButtonAtIndex:(NSInteger)buttonIndex
================================
UIActionSheet : アクションシートを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIActionSheet
◆生成
UIActionSheetを生成する
例:UIActionSheet *as = [[UIActionSheet alloc]init];
◆プロパティ
デリゲートを指定する
例:as.delegate = self;
タイトルを指定する
例:as.title = @”テスト”;
キャンセルボタンの位置を指定する
例:as.cancelButtonIndex = 2;
赤くするボタンの位置を指定する
例:as.destructiveButtonIndex = 0;
アクションシートのスタイルを指定する
例:as.actionSheetStyle = UIActionSheetStyleDefault;
ボタンの数を取得する(r)
例:int count = as.numberOfButton;
◆メソッド
ボタンを追加する
-(NSInteger)addButtonWithTitle:(NSString*)title
アクションシートを表示する
-(void)showInView:(UIView*)view
タブバーがある時にアクションシートを表示する
-(void)showFromTabBar:(UIView*)view
ツールバーがある時にアクションシートを表示する
-(void)showFromToolBar:(UIView*)view
◆デリゲートメソッド
表示直前に呼ばれるデリゲートメソッド
-(void)willPresentActionSheet:(UIActionSheet*)actionSheet
閉じた直後に呼ばれるデリゲートメソッド
-(void)actionSheet:(UIActionSheet*)actionSheet
ボタンタップ時に呼ばれるデリゲートメソッド
-(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
================================
UIImageView : 画面上の画像表示を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIImageView
◆生成
UIImageViewを生成する
例:UIImageView *iv = [[UIImageView alloc]init];
画像を指定して生成する
例:UIImage *img = [UIImage ImageNamed:@”sample.png”];
UIImageView *iv = [[UIImageView alloc]initWithImage:img];
◆プロパティ
表示する画像を設定する
例:iv.image = [UIImage imageNamed:@”sample.png”];
アニメーションのコマを設定する
例:iv.animationImages = arr;
アニメーションのリピート回数を設定する
例:iv.animationRepeatCount = 3;
iv.animationRepeatCount = 0; //無限
アニメーションの1コマが切り替わる時間を設定する
例:iv.animationDuration = 0.3;
タッチの検知をするかしないかを設定する
例:iv.userInteractionEnabled = YES;
◆メソッド
アニメーションを開始させる
-(void)startAnimating
アニメーションを停止させる
-(void)stopAnimating
アニメーションが開始しているかどうか取得する
-(BOOL)isAnimating
================================
UIWebView : webページを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIWebView
◆生成
UIWebViewを生成する
例:UIWebView *wv = [[UIWebview alloc]init];
サイズを指定して生成する
例:UIWebView *wv = [[UIWebView alloc]initWithFram:self.view.bounds];
◆プロパティ
デリゲートを指定する
例:wv.delegate = self;
ピンチイン・アウトの可否を設定する
例:wv.scalesPageToFit = YES;
ページ読み込み中かどうか(r)
例:BOOL b = wv.loading;
前のページに戻れるかどうか(r)
例:BOOL b = wv.canGoBack;
次のページに進めるかどうか(r)
例:BOOL b = wv.canGoFoward;
◆メソッド
指定したページを読み込む
-(void)loadRequest:(NSURLRequest*)request
前のページに戻る
-(void)goBack
次のページに進む
-(void)goFoward
リロードする
-(void)reload
ページの読み込みを中止する
-(void)stopLoading
◆デリゲートメソッド
ページの読み込み直後に呼ばれるデリゲートメソッド
-(void)webViewDidStartLoad:(UIWebView*)webView
ページの読み込み完了時に呼ばれるデリゲートメソッド
-(void)webViewDidFinishLoad:(UIWebView*)webView
================================
UIActivityIndicatorView : 処理中の表示を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIActivityIndicatorView
◆生成
UIActivityIndicatorViewを生成する
例:UIActivityIndicatorView *ai = [[UIActivityIndicatorView alloc]init];
サイズを指定して生成する
例:UIActivityIndicatorView *ai = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0,0,30,30)];
スタイルを指定して生成する
例:UIActivityIndicatorView *ai = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
◆プロパティ
アニメーションが止まっている時の表示の設定
例:ai.hidesWhenStopped = NO;
スタイルを設定する
例:ai.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
◆メソッド
アニメーションを開始させる
-(void)startAnimating
アニメーションを停止させる
-(void)stopAnimating
マニメーション中かどうか取得する
-(BOOL)isAnimating
================================
UIPickerView : ピッカーを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIPickerView
◆生成
UIPickerViewを生成する
例:UIPickerView *piv = [[UIPickerView alloc]init];
◆プロパティ
デリゲートを設定する
例:piv.delegate = self;
データソースを設定する
例:piv.dataSource = self;
選択中の行に目印を付ける設定
例:piv.showSelectionIndicator = YES;
◆メソッド
選択されている値のインデックス番号を取得する
-(NSInteger)selectedInComponent:(NSInteger)component
ピッカーの表示を全て更新する
-(void)reloadAllComponents
特定の列インデックスを指定して表示を更新する
-(void)reloadComponent:(NSInteger)component
UIPickerViewの初期値を設定する
-(void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated
◆デリゲートメソッド
ピッカーに表示する列数を返すように実装するデリゲートメソッド
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView
ピッカーに表示する行数を返すように実装するデリゲートメソッド
-(NSInteger)pickerView:(UIPickerView*)pickerView numberOfRowsInComponent:(NSInteger)componet
表示する値を返すように実装するデリゲートメソッド : 行番号、列番号が渡されるので対応する文字列を返すように実装する
-(NSString*)pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
列の幅を指定する : 列番号が渡されるので、幅を返すように実装する
-(CGFloat)pickerView:(UIPickerView*)pickerView widthForComponent:(NSInteger)component
================================
UISearchBar : データを検索するときに使用するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UISearchBar
◆生成
UISearchBarを生成する
例:UISearchBar *sb = [[[UISearchBar alloc]init]autorelease];
◆プロパティ
デリゲートを指定する
例:sb.delegate = self;
キャンセルボタンの表示・非表示を指定する
例:sb.showCancelButton = YES;
タイトルを設定する
例:sb.prompt = @”プロンプト”;
プレースフォルダー(説明文)を設定する
例:sb.placeholder = @”検索文字を入力してください”;
入力時のキードードを指定する
例:sb.keyboardType = UIKeyboardTypeASCIICapable;
※キーボードタイプの意味
UIKeyboardTypeDefault : デフォルト
UIKeyboardTypeAlphabet : アルファベットキーボード
UIKeyboardTypeASCIICapable : ASCIIのデフォルトキーボード
UIKeyboardTypeNamePhonePad : 名前入力サポートの電話キーパッド
UIKeyboardTypeNumbersAndPunctuation : 数字入力フルキーボード
UIKeyboardTypeURL : URL入力に使用するキーボード
UIKeyboardTypeNumberPad : 数字テンキー
UIKeyboardTypePhonePad : 電話キーパッド
UIKeyboardTypeEmailAddress : 電子メールアドレス入力キーボード
値の設定・取得をする
例:NSString *val = sb.text;
スタイルを設定する
例:sb.barStyle = UIBarStyleBlack;
色を設定する
例:sb.tintColor = [UIColor redColor];
◆デリゲートメソッド
キーボードのsearchボタンタップ時に呼ばれるデリゲートメソッド
-(void)searchBarSearchButtonClicked:(UISearchBar*)searchBar
キャンセルボタンがタップされた時に呼ばれるデリゲートメソッド
-(void)searchBarCancelButtonClicked:(UISearchBar*)searchBar
値が変更される都度呼び出されるデリゲートメソッド
-(void)searchBar:(UISearchBar*)searchBar textDidChange:(NSString*)searchText
================================
UINavigationBar : ナビゲーションバーに関する設定を行うクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UINavigationBar
◆生成
UINavigationBarを生成する
例:UINavigationBar *nb = [[UINavigationBar alloc]init];
例:frame.origin = CGPointZero;
frame.size = [UINavigationBar defaultSize];
UINavigationBar *nb = [[[UINavigationBar alloc]initWithFrame:frame]autorelease];
[nb showButtonsWithLeftTitle:@”Hello” rightTitle:@”World” leftBack:YES];
[contentView addSubview:nb];
◆プロパティ
デリゲートを指定する
例:nb.delegate = self;
色を設定する
例:nb.tintColor = [UIColor blueColor];
スタイルを設定する
例:nb.barStyle = UIBarStyleDefault;
※スタイルの意味
UIBarStyleDefault 灰色
UIBarStyleBlack 黒
UIBarStyleBlackOpaque 黒2
UIBarStyleBlackTranslucent 黒3
================================
UIToolbar : ツールバーを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIToolBar
◆生成
UIToolBarを生成する
例:UIToolBar *tb = [[UIToolBar alloc]initWithFrame:CGRectMake(0,0,320,44)];
◆プロパティ
スタイルを設定する
例:tb.barStyle = UIBarStyleDefault;
※スタイルの意味
UIBarStyleDefault 灰色
UIBarStyleBlack 黒
UIBarStyleBlackOpaque 黒2
UIBarStyleBlackTranslucent 黒3
色を設定する
例:tb.tintColor = [UIColor blueColor];
半透明にする
例:tb.translucent = YES;
◆メソッド
ツールバーにボタンをセットする
-(void)setItems:(NSArray*)items animated:(BOOL)animated
================================
UIBarButtonItem : ツールバーやナビゲーションバーに表示するボタンを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UINavigationBar ← UIBarButtonItem
◆生成
タイトルとボタンのスタイルを指定して生成する
例:UIButtonItem *btn = [[UIButtonItem alloc]initWithTitle:@”実行” Style:UIBarButtonItemStyleBordered target:self action:@selctor(act01)];
※スタイルの意味
UIBarButtonItemStylePlain 枠線なし
UIBarButtonItemStyleBordered 枠線あり
UIBarButtonItemStyleDone 青いボタン
システムで用意されている画像を使って生成する
例:UIButtonItem *btn = [[UIButtonItem alloc]initWithButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selctor(act01)];
※ボタンの種類
UIBarButtonSystemItemDone Doneボタン
UIBarButtonSystemItemCancel Cancelボタン UIBarButtonSystemItemEdit Editボタン
UIBarButtonSystemItemSave Saveボタン
UIBarButtonSystemItemAdd +ボタン
UIBarButtonSystemItemFlexibleSpace 可変スペース
UIBarButtonSystemItemFixedSpace 固定スペース
UIBarButtonSystemItemCompose ペイン
UIBarButtonSystemItemReply 左向き矢印
UIBarButtonSystemItemAction アクション
UIBarButtonSystemItemOrganize フォルダ
UIBarButtonSystemItemBookmarks 本
UIBarButtonSystemItemSearch 虫眼鏡
UIBarButtonSystemItemRefresh リフレッシュ
UIBarButtonSystemItemStop 停止
UIBarButtonSystemItemCamera カメラ
UIBarButtonSystemItemTrash ゴミ箱
UIBarButtonSystemItemPlay 再生
UIBarButtonSystemItemPause 一時停止
UIBarButtonSystemItemRewind 巻き戻し
UIBarButtonSystemItemFastForward 進める
UIBarButtonSystemItemUndo, Undo戻す
UIBarButtonSystemItemRedo, Redoやり直し
UIBarButtonSystemItemPageCurl, ページめくり
画像を指定して生成する
例:UIButtonItem *btn = [[UIButtonItem alloc]initWithImage:[UIImage imageNamed:@”test.png”] target:self action:@selctor(act01)];
================================
UIControl : グユーザのアクションを管理するクラス
================================
◆階層
NSObject ← UIResponder ← UIView ← UIControl
◆プロパティ
縦揃えを設定する
contentVerticalAlignment (UIControlContentVerticalAlignment)
フォーカス状態を取得・設定する
selected (BOOL)
状態を取得する(r)
stat (UIControlState)
◆イベント
イベントと処理を紐付ける
-(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
※イベントの意味
UIControlEventTouchDown タッチダウン
UIControlEventTouchDownRepeat 複数回のタッチダウン
UIControlEventTouchUpInside コントロール内でのタッチアップ
UIControlEventTouchUpOutside コントロール外でのタッチアップ
UIControlEventTouchDragInside コントロール内でのドラッグ
UIControlEventTouchDragOutside コントロール内から外へのドラッグ
UIControlEventTouchEnter コントロール外から内へのドラッグ
UIControlEventValueChanged コントロールのvalue値が変化した
UIControlEventEditingDidBegin 編集開始
UIControlEventEditingChange 編集により値が変化した
UIControlEventEditingDidEnd 編集終了
UIControlEventEditingDidEndOnExit 編集終了後フォーカスが外れた
UIControlEventAllTouchEvents タッチイベント発生時(種類問わず)
UIControlEventAllEditingEvents 編集イベント発生時(種類問わず)
UIControlEventAllEvents イベント発生時(種類問わず)
対象コントロールをファーストレスポンダにする
-(BOOL)becomeFirstResponder
対象コントロールをファーストレスポンダでなくす
-(BOOL)regionFirstResponder
================================
UIButton : ボタンを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIControl ← UIButton
◆生成
UIButtonを生成する
例:UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd];
btn.frame = CGRectMake(0,0,50,30);
※ボタンタイプの意味
UIButtonTypeRoundedRect 丸四角
UIButtonTypeDetailDisclosure >ボタン
UIButtonTypeInfoLight iボタン
UIButtonTypeInfoDark 黒iボタン
UIButtonTypeContactAdd +ボタン
UIButtonTypeCustom 自作
◆プロパティ
フォントを設定する
例:btn.font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
ボタンタイプを取得する(r)
例:UIButtonType bt = btn.buttonType;
ボタンのタイトルを取得する(r)
例:NSString *bt = btn.currentTitle;
ボタンのタイトルの色を取得する(r)
例:UIColor *c = bt.currentTitleColor;
ボタンの背景画像を取得する(r)
例:UIImage *i = bt.currentBackgroundImage;
ボタンの画像を取得する(r)
例:UIImage *i = bt.currentImage;
◆メソッド
ボタンのタイトルをセットする
-(void)setTitle:(NSString*)title forState:(UIControlState)state
色をセットする
-(void)setTitleColor:(UIColor*)color forState:(UIControlState)state
ボタンに表示する画像をセットする
-(void)setImage:(UIImage*)image forState:(UIControlState)state
ボタンの背景画像をセットする
-(void)setBackgroundImage:(UIImage*)image forState(UIControlState)state
================================
UITextField : テキストフィールドコントロールを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIControl ← UITextField
◆生成
UITextFieldを生成する
例:UITextField *tf = [[UITextField alloc]init];
サイズを指定して生成する
例:UITextField *tf = [[UITextField alloc]initWithFrame:CGRectMake(10,10,200,30)];
◆プロパティ
デリゲートを指定する
例:tf.delegate = self;
テキストを指定する
例:tf.text = @”テスト”;
フォントを設定する
例:tf.font = [UIFont fontWithName:@”AppleGothic” size:12];
テキストの色を設定する
例:tf.textColor = [UIColor blackColor];
背景画像を設定する
例:tf.background = [UIImage imageNamed:@”sample.png”];
枠線のスタイルを設定する
例:tf.borderStyle = UITextBorderStyleLIne;
※スタイルの意味
UITextBorderStyleNone 枠なし
UITextBorderStyleLine 枠線
UITextBorderStyleBezel 立体
UITextBorderStyleRoundedRect 丸四角 ノーマル
横揃えを設定する
例:tf.textAlignment = UITextAlignmentCenter;
※横揃えの意味
UITextAlignmentLeft 左寄せ
UITextAlignmentCenter 中央
UITextAlignmentRight 右寄せ
プレースホルダー(説明文)を設定する
例:tf.placeholder = @”ここに名前を入力してください”
入力時のキーボードを設定する (ヘルプにはkeybordTypeが見当たらない。あとでテストしてみよう)
例:tf.keybordType = UIKeybordTypeDefault
※キーボードタイプの意味
UIKeyboardTypeDefault : デフォルト
UIKeyboardTypeAlphabet : アルファベットキーボード
UIKeyboardTypeASCIICapable : ASCIIのデフォルトキーボード
UIKeyboardTypeNamePhonePad : 名前入力サポートの電話キーパッド
UIKeyboardTypeNumbersAndPunctuation : 数字入力フルキーボード
UIKeyboardTypeURL : URL入力に使用するキーボード
UIKeyboardTypeNumberPad : 数字テンキー
UIKeyboardTypePhonePad : 電話キーパッド
UIKeyboardTypeEmailAddress : 電子メールアドレス入力キーボード
入力時のキーボードのreturnキーの表示を指定する (これもヘルプにない...)
例:tf.returnKeyType = UIReturnKeyDone;
クリアボタンの表示を指定する
例:tf.clearButtonMode = UITextFieldViewModeAlways;
UITextFieldViewModeNever 表示しない
UITextFieldViewModeWhileEditing フォーカスを得た場合のみ表示
UITextFieldViewModeUnlessEditing フォーカスを得ていない場合のみ表示
UITextFieldViewModeAlways 常に表示
◆メソッド
編集する直前に呼び出されるデリゲートメソッド
-(BOOL)textFieldShouldBeginEditing:(UITextField*)textField
編集が終了直前に呼び出されるデリゲートメソッド
-(BOOL)textFieldShouldEndEditing:(UITextField*)textField
編集する直後に呼び出されるデリゲートメソッド
-(BOOL)textFieldShouldDidBeginEditing:(UITextField*)textField
編集終了の直後に呼び出されるデリゲートメソッド
-(BOOL)textFieldShouldDidEndEditing:(UITextField*)textField
returnキーがタップされた時に呼び出されるデリゲートメソッド
-(BOOL)textFieldShouldReturn:(UITextField*)textField
クリアボタンがタップされる時に呼び出されるデリゲートメソッド
-(BOOL)textFieldShouldClear:(UITextField*)textField
================================
UISwitch : スイッチコントロールを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIControl ← UISwitch
◆生成
UISwitchを生成する
例:UISwitch * sw = [[[UISwitch alloc]init]autorelease];
◆プロパティ
スイッチの状態を設定する
例:sw.on = YES;
================================
UISegmentedControl : セグメンテットコントロールを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIControl ← UISegmentedControl
◆生成
UISegmentedControlを生成する
例:NSArray *ar = [NSArray arrayWithObjects:@”ボタン1”,@”ボタン”2,@”ボタン3”,nil];
UISegmentedControl *sc = [[UISegmentedControl alloc]initWithItems:ar];
◆プロパティ
選択中のボタンを設定する
例:sc.selectedSegmentIndex=0;
スタイルを設定する
例:sc.segmentedControlStyle = UISegmentedControlStylePlain;
※スタイルの意味
UISegmentedControlStylePlain ノーマル
UISegmentedControlStyleBordered 線付き
UISegmentedControlStyleBar 色付き
UISegmentedControlStyleBezeled 色付き2
選択された時のボタンの状態を設定する
例:sc.momentary = YES;
色を設定する
例:sc.tintColor = [UIColor cyanColor];
================================
UISlider : スライダーコントロールを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIControl ← UISlider
◆生成
UISliderを生成する
例:UISlider *sl = [[UISlider alloc]init];
サイズを指定して生成する
例:UISlider *sl = [[UISlider alloc]initWithFrame:CGRectMake(0,0,200,10)];
◆プロパティ
スライダーの位置を指定する
例:sl.value = 250.0
最小値を指定する
例:sl.minimumValue = 0.0;
最大値を指定する
例:sl.MaxmumValue = 300.0;
最小値の横に表示する画像を表示する
例:sl.minimumValueImage = [UIImage imageNamed:@”min.png”];
最大値の横に表示する画像を表示する
例:sl.maxmumValueImage = [UIImage imageNamed:@”max.png”];
値変更通知のタイミングを設定する
例:sl.continuous = NO;
================================
UIDatePicker : 日付や時間を選択したときに使用するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIControl ← UIDatePicker
◆生成
UIDatePickerを生成する
例:UIDatePicker *dp = [[UIDtatePicker alloc]init];
◆プロパティ
分の刻みを指定する
例:dp.minuteInterval = 30;
表示スタイルを指定する
例:dp.datePickerMode = UIDatePickerModeTime;
※スタイルの意味
UIDatePickerModeTime 時分
UIDatePickerModeDate 年月日
UIDatePickerModeDateAndTime 月日時分
UIDatePickerModeCountDownTimer カウントダウンタイマー用
表示する日時を指定する
例:dp.date = [NSDate dateWithString:@”2011-01-28 15:54:00″];
選択可能な最小日時を設定する
例:dp.minimumDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * (-7)]; //7日まえ
選択可能な最大日時を設定する
例:dp.maximumDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * (+7)]; //7日まえ
================================
UIPageControl : ページコントロールを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIControl ← UIPageControl
◆生成
UIPageControlを生成する
例:UIPageControl *pc = [[UIPageControl alloc]init];
サイズを指定して生成する
例:uiPageControl *pc = [[UIPageControl alloc]initWithFrame:CGRectMake(0,450,320,30)];
◆プロパティ
表示する点の数を指定する
例:pc.numberOfPages = 10;
選択中の点の位置を指定する
例:pc.currentPage = 3;
================================
UIScrollView : 画面のスクロールを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIScrollView
◆生成
UIScrollViewを生成する
例:UIScrollView *sv = [[UIScrollView alloc]init];
サイズを指定して生成する
例:UIScrollView *sv = [[UIScrollView alloc]initWithFrame:self.view.bounds];
◆プロパティ
デリゲートを指定する
例:sv.delegate = self;
スクロールをバウンドさせるか指定する
例:sv.bounces = YES;
スクロール画面サイズを指定する
例:sv.contentSize = CGSizeMake(320*10,480);
スクロールのスタイルを指定する
例:sv.indicatorStyle = UIScrollViewIndicatorStyleDefault;
※スタイルの意味
UIScrollViewIndicatorStyleDefault グレー デフォルト
UIScrollViewIndicatorStyleBlack 黒
UIScrollViewIndicatorStyleWhite 白
スクロール方法を指定する
例:sv.pagingEnabled = NO;
スクロール画面の初期位置を指定する
例:sv.contentOffset = CGPointMake(640,0);
ピンチインなどの縮小した時の最小倍率を設定する
例:sv.minimumZoomScale = 0.1;
ピンチアウトなどの拡大した時の最大倍率を設定する
例:sv.maximumZoomScale = 2.5;
================================
UITableView : テーブル形式の画面を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIScrollView ← UITableView
◆生成
UITableViewを生成する
例:UITableView *tbl = [[UITableView alloc]initWithStyle:UITableViewStylePlain];
※スタイルの意味
UITableViewStylePlain 通常スタイル
UITableViewStyleGrouped グループ化スタイル
◆プロパティ
デリゲートを指定する
例:tbl.delegate = self;
データソースを指定する
例:tbl.dataSource = self;
テーブルのタイトルを指定する
例:tbl.title = @”テスト”;
セルの高さを指定する
例:tbl.rowheight = 80.0;
区切り線のスタイルを設定する
例:tbl.separatorStyle = UITableViewCellSeparatorStyleSingeLine; //通常
tbl.separatorStyle = UITableViewCellSeparatorStyleNone; //なし
区切り線の色を設定する
例:tbl.separatorColor = [UIColor blueColor];
セルの選択の可否を選択する
例:tbl.allowSelection = YES;
ヘッダ部に表示するビューを設定する
例:tbl.tableHeaderView = sb; //sbはUISearchBarのインスタンス
フッタ部に表示するビューを設定する
例:tbl.tableFooterView = sb; //sbはUISearchBarのインスタンス
◆メソッド
再読み込みをする
-(void)reloadData
◆デリゲートメソッド
ロード時に呼び出されセクションの数を返すように実装するデリゲートメソッド
-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView
ロード時に呼び出されセルの数を返すように実装するデリゲートメソッド
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
ロード時に呼び出されセルの内容を返すように実装するデリゲートメソッド
-(UITableViewCell*)tableView:(UITableView)tableView cellForROwAtIndexPath:(NSIndexPath*)indexPath
ロード時に呼び出されセクションのタイトルを返すように実装するデリゲートメソッド
-(NSString)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section
ロード時に呼び出されセルの高さを返すように実装するデリゲートメソッド
-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
セルタップ時に呼び出されセルタップ時に行いたい処理を実装するデリゲートメソッド
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
================================
UITextView : 複数行のテキストを表示させるテキストビューコントロールを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← UIScrollView ← UITextView
◆生成
UITextViewを生成する
例:UITextView *tv = [[UITextView alloc]init];
サイズを指定して生成する
例:UITextView *tv = [[UITextView alloc]initWithFrame:CGRectMake(0,0,200,200)];
◆プロパティ
デリゲートを指定する
例:tv.delegate = self;
テキストを設定する
例:tv.text = @”テスト”;
フォントを設定する
例:tv.font = [UIFont fontWithName:@”AppleGothic” size:12];
テキストの色を設定する
例:tv.textColor = [UIColor blackColor];
編集可否を設定する
例:tv.editable = NO;
横揃えを設定する
例:tv.textAlignment = UITextAlignmentLeft;
入力時のキーボードを指定する
例:tv.keyboardType = UIKeyboardTypeDefault;
◆メソッド
テキストが入力されているかどうか判定
-(BOOL)hasText
◆デリゲートメソッド
編集直前に呼ばれるデリゲートメソッド
-(BOOL)textViewShouldBeginEditing:(UITextView*)textView
編集終了の直前で呼ばれるデリゲートメソッド
-(BOOL)textViewShouldEndEditing:(UITextView*)textView
================================
CLLocationManager : GPS位置や電子コンパスの機能を管理するクラス。
================================
◆階層
NSObject ← CLLocationManager
◆生成
CLLocationManagerの生成
例:CLLocationManager *lm = [[CLLocationManager alloc]init];
◆プロパティ
デリゲートを指定する
例:lm.delegate = self;
測位の制度を指定する
例:lm.desiredAccuracy = kCLLocationAccuracyBest;
位置情報取得間隔を指定する
例:lm.distanceFilter = 100.0;
◆メソッド
コンパスの使用可否を判定する
+(BOOL)headingAvailable
GPSの使用可否を判定する
+(BOOL)locationServicesEnabled
GPSの使用を開始する
-(void)startUpdatingLocation
GPSの使用を停止する
-(void)stopUpdatingLocation
電子コンパスを開始する
-(void)startUpdatingHeading
電子コンパスを停止する
-(void)stopUpdatingHeading
◆デリゲートメソッド
GPSから値を取得した時に呼び出されるデリゲートメソッド
-(void)locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(ClLOcation*)oldLocation
電子コンパスから値を取得した時に呼び出されるデリゲートメソッド
-(void)locationManager:(CLLocationManager*)manager didUpdateHeading:(CLHeading*)newHeading
================================
MKMapView : 地図表示を管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← MKMapView
◆生成
MKMapViewを生成する
例:MKMapView *mv = [[MKMapView alloc]init];
サイズを指定して生成する
例:MKMapView *mv = [[MKMapView alloc]initWithFrame:CGRectMake(0,0,320,380)];
◆プロパティ
デリゲートを指定する
例:mv.delegate = self;
GPSで取得した現在地を青丸で表示する
例:mv.showsUserLocation = Yes;
地図の中心点の経度緯度を取得する
例:CLLocationCoordinate2D val = mv.centerCoordinate;
duble lat = val.latitude //緯度
duble lon = val.longitude //経度
マップの種類を選択する
例:mv.mapType = MKMapTypeHybrid;
※種類の意味
MKMapTypeStandard 標準地図
MKMapTypeSatellite 航空写真
MKMapTypeHybrid 地図と写真の合成
◆メソッド
指定した経度緯度を中心とした地図を表示する
-(void)setCenterCoordinate:(CLLOcationCoordinate2D)coordinate
地図の縮尺度を設定する
-(void)setRegion:(MKCoordinateRegion)region animated:(BOOL)animated
================================
MKAnnotationView : 地図上で独自で作成したアノテーションを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← UIView ← MKAnnotationView
◆生成
MKAnnotationViewを生成する
例:MKAnnotationView *av = [[[MKAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:pinIdentifier]autorelease];
◆プロパティ
コールアウトを表示するしないの設定
例:av.canShowCallout = YES;
アノテーションの画像を指定する
例:av.image = [UIImage imageNamed:@”sample.png”];
コールアウトの左に表示するUIViewを指定する
例:UIButton *b = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
av.leftCalloutAccessoryView=b;
コールアウトの右に表示するUIViewを指定する
例:UIButton *b = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
av.rightCalloutAccessoryView=b;
================================
MKPinAnnotationView : 地図上で標準で作成したアノテーションを管理するクラス。
================================
◆階層
NSObject ← UIResponder ← MKAnnotationView ← MKPinAnnotationView
◆生成
MKPinAnnotationViewを生成する
例:MKPinAnnotationView *pav = [[[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:pinIdentufier]autorelease]
◆プロパティ
ピンの色を指定する
例:pav.animatesDrop = MKPinAnnotationColorRed;
ピンの表示方法を指定する
例:pav.animatesDrop = YES;