ViewControllerに関しては、読み込みの状態などにより、
呼び出されるメソッドが異なるようだ。
ViewDidLoad:
読み込みが完了
ViewDidUnload:
読み込みがメモリ不足などで終了
ViewWillAppear:
表示されるタイミング
ViewDidAppear:
表示されたあと
ViewWillDisappear:
非表示の時
ViewDidDisappear:
非表示になった後
状況に応じて使う事でメモリの節約などに役立てたい
素人のiphoneアプリ開発日記
毎日コツコツiphoneアプリについて学んでいきます。 基本的に、メモとして利用をしているので、わかりにくい部分もあるかと思いますが、どうぞ、よろしくお願いいたします。
2011年9月26日月曜日
2011年9月25日日曜日
アニメーションの設定の方法(前とは別の方法)
前にアニメーションの方法を示したが、
下記のような形式でもアニメーションを実行できるようだ。
-(IBAction)doAnime:(id)sender{
_imageViwe.alpha = 1.0;
_imageView.transform=CGAffineTransformMakeScale(1.0,1.0);
[UIVIEW animateWidthDuration:1.0
animations:^{
_imageView.alpha = 0.3;
_imageView.transform = CGAffineTransformMakeScale(0.4,0.4);
]
}
利用できる値に関しては、前にアニメーションを作成した時と同様のようです。
下記のような形式でもアニメーションを実行できるようだ。
-(IBAction)doAnime:(id)sender{
_imageViwe.alpha = 1.0;
_imageView.transform=CGAffineTransformMakeScale(1.0,1.0);
[UIVIEW animateWidthDuration:1.0
animations:^{
_imageView.alpha = 0.3;
_imageView.transform = CGAffineTransformMakeScale(0.4,0.4);
]
}
利用できる値に関しては、前にアニメーションを作成した時と同様のようです。
2011年9月24日土曜日
スクロールビューを利用します。UIScrollView
スクロールビューを利用します。
中にコンテンツをはみ出すように設置をすれば、指でのスクロールなどで、コンテンツを見る事ができます。
UIScrollView *scrollView = [[UIScrollView alloc]init];
見える領域:frame
scrollView.frame = self.view.bounds;
実際のコンテンツの領域
scrollView.contentSize = CGSizeMake(self.view.frame.size.width*4,self.view.frame.size.height);
ページング機能ですが、ページ毎にコンテンツが止まる形で移動できるか、
もしくは、ページの境目なく常に滑らかにコンテンツが見れるようにするか。
scrollView.pagingEnabled = YES;
[self.view addSubview:scrollView];
[scrollView release];
中にコンテンツを追加する場合は下記のようにします。
[scrollView addSubview:****];
中にコンテンツをはみ出すように設置をすれば、指でのスクロールなどで、コンテンツを見る事ができます。
UIScrollView *scrollView = [[UIScrollView alloc]init];
見える領域:frame
scrollView.frame = self.view.bounds;
実際のコンテンツの領域
scrollView.contentSize = CGSizeMake(self.view.frame.size.width*4,self.view.frame.size.height);
ページング機能ですが、ページ毎にコンテンツが止まる形で移動できるか、
もしくは、ページの境目なく常に滑らかにコンテンツが見れるようにするか。
scrollView.pagingEnabled = YES;
[self.view addSubview:scrollView];
[scrollView release];
中にコンテンツを追加する場合は下記のようにします。
[scrollView addSubview:****];
2011年9月23日金曜日
Tabを利用したインターフェースの切り替え
Tabを利用したインターフェースの切り替え
アプリが別のクラスでできているので、
各画面の通信の仕組みを追加してあげる必要があります。
AppDelegateの中にプロパティを持つ事でグローバル変数として利用ができる。
@interfaceの中に、
NSInteger _count;
と設定をして、
また、propertyとして、
@property(nonatomic,assign)NSInteger _count;
と言う形で定義をしておく必要がある。
また、外部からもアクセスができるように
@implementationの次の行に
@synthesize _count;
に追加をします。
これでpublicとして値が取得できるようになります。
外部からアクセスができるようになったので、
次にこのクラスの変数に外部からアクセスをする方法を考えます。
#import "sampleAppDelegate.h";
と記載をする事で、このクラスをインポートできます。
上記のクラスで何かインスタンスを作成する。
sampleAppDelegate *appDelegate = (sampleAppDelegate *)[[UIApplication sharedApplication]delegate];
である。
ここで作成したappDelegateに関しては、変数が設定してあるので、
appDelegate._count
などで値を取得もしくは、代入が可能である。
アプリが別のクラスでできているので、
各画面の通信の仕組みを追加してあげる必要があります。
AppDelegateの中にプロパティを持つ事でグローバル変数として利用ができる。
@interfaceの中に、
NSInteger _count;
と設定をして、
また、propertyとして、
@property(nonatomic,assign)NSInteger _count;
と言う形で定義をしておく必要がある。
また、外部からもアクセスができるように
@implementationの次の行に
@synthesize _count;
に追加をします。
これでpublicとして値が取得できるようになります。
外部からアクセスができるようになったので、
次にこのクラスの変数に外部からアクセスをする方法を考えます。
#import "sampleAppDelegate.h";
と記載をする事で、このクラスをインポートできます。
上記のクラスで何かインスタンスを作成する。
sampleAppDelegate *appDelegate = (sampleAppDelegate *)[[UIApplication sharedApplication]delegate];
である。
ここで作成したappDelegateに関しては、変数が設定してあるので、
appDelegate._count
などで値を取得もしくは、代入が可能である。
2011年9月22日木曜日
画面の切り替えでプロパティの受け渡しを勉強する。UtilityApplication
画面の切り替えでプロパティの受け渡しを勉強する。
■UtilityApplication(表裏が切り替わるアプリ)で、プロジェクトを作成。
MainViewとFlipsideViewで切り替わります。
FlipsideViewで設定した値をMainViewに持ってきてみます。
FlipsideViewで文字要素を作成する。
.hファイルで、文字要素をinterfaceの中で作成
NSString *_str;
@property(nonatomic,retain)NSString *_str;
.mファイルで、
@implementation FlipsideViewControllerの後ろに
@synthesize _str;
を記載。
このファイルから値を送る場合に
-(IBAction)showinfo:(id)sender{
FlipsideViewController _controller = [[FlipsideViewController alloc]
initWithNibName:@"Flipsideiew"
bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
//下記の値で、FlipSideViewの変数_strを取得する事ができるようになった。
controller._str
[controller release];
}
■UtilityApplication(表裏が切り替わるアプリ)で、プロジェクトを作成。
MainViewとFlipsideViewで切り替わります。
FlipsideViewで設定した値をMainViewに持ってきてみます。
FlipsideViewで文字要素を作成する。
.hファイルで、文字要素をinterfaceの中で作成
NSString *_str;
@property(nonatomic,retain)NSString *_str;
.mファイルで、
@implementation FlipsideViewControllerの後ろに
@synthesize _str;
を記載。
このファイルから値を送る場合に
-(IBAction)showinfo:(id)sender{
FlipsideViewController _controller = [[FlipsideViewController alloc]
initWithNibName:@"Flipsideiew"
bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
//下記の値で、FlipSideViewの変数_strを取得する事ができるようになった。
controller._str
[controller release];
}
2011年9月21日水曜日
タイマーの機能を使ってみる。
タイマーの機能を使ってみる。
NSTimer *_timer = [NSTimer
scheduledTimerWidthTimeInterval:3,
target:self,
selector:@selector(func:),
userInfo:nil,
repeats:YES];
上記は3秒毎に_funcを実行する。
NSTimer *_timer = [NSTimer
scheduledTimerWidthTimeInterval:3,
target:self,
selector:@selector(func:),
userInfo:nil,
repeats:YES];
上記は3秒毎に_funcを実行する。
2011年9月20日火曜日
UIViewの機能でアニメーションを行う。
UIViewの機能でアニメーションを行う。
ページの中で位置を移動したり、透過度を変更して
フェードインをするなどの動作を行う動作を行う。
step1
部分の初期状態の設定
中央の位置を決める
_iv.center = CGPointMake(x,y)
大きさの設定
_iv.rect = CGRectMake(x,y,width,height);
回転角度の設定
_iv.transform = CGAffineTransformMakeRotation(30 * 2*m_PI/360);
透明度
_iv.alpha = 0.5;
step2アニメーションの設定をする。
開始は
[UIView beginAnimations:nil context:nil];
アニメーションの秒数の設定は
[UIView setAnimationRepeatCount:3]
※0だと無限に繰り返す
開始までの時間
[UIView setAnimationDelay:3];
イージング設定
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
ゆっくり→はやく→ゆっくり:UIViewAnimationCurveEaseInOut
ゆっくり→はやく:UIViewAnimationCurveEaseIn
はやく→ゆっくり:UIViewAnimationCurveEaseOut
一定の速度:UIViewAnimationCurveEaseLiner
の4種類が基本
アニメーションの組み込みの流れ、
//初期設定
_iv.center = CGPointMake(20,20);
//宣言
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2];
//結果
_iv.center = CGPointMake(50,100);
//出力
[UIView commitAnimations];
ページの中で位置を移動したり、透過度を変更して
フェードインをするなどの動作を行う動作を行う。
step1
部分の初期状態の設定
中央の位置を決める
_iv.center = CGPointMake(x,y)
大きさの設定
_iv.rect = CGRectMake(x,y,width,height);
回転角度の設定
_iv.transform = CGAffineTransformMakeRotation(30 * 2*m_PI/360);
透明度
_iv.alpha = 0.5;
step2アニメーションの設定をする。
開始は
[UIView beginAnimations:nil context:nil];
アニメーションの秒数の設定は
[UIView setAnimationRepeatCount:3]
※0だと無限に繰り返す
開始までの時間
[UIView setAnimationDelay:3];
イージング設定
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
ゆっくり→はやく→ゆっくり:UIViewAnimationCurveEaseInOut
ゆっくり→はやく:UIViewAnimationCurveEaseIn
はやく→ゆっくり:UIViewAnimationCurveEaseOut
一定の速度:UIViewAnimationCurveEaseLiner
の4種類が基本
アニメーションの組み込みの流れ、
//初期設定
_iv.center = CGPointMake(20,20);
//宣言
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2];
//結果
_iv.center = CGPointMake(50,100);
//出力
[UIView commitAnimations];
登録:
投稿 (Atom)