Viewの交換 - RとLinuxと...

RとLinuxと...


Viewの交換

iPhone_Dev

  • .xib にviewを追加し、File's ownersのOutletにUIViewオブジェクトを追加。あるいは.hで定義する。
  • 新規追加viewとFile's Owner をOutlet接続する
  • 画面クリックでアニメーションを使って変換するなら以下を追記
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{

 [UIView beginAnimations:nil context:NULL];
 [UIView setAnimationDuration:0.75];
 [UIView setAnimationTransition:
            UIViewAnimationTransitionFlipFromLeft 
            forView:self.view cache:YES];

 if(newView.superview) {
     // newViewが他のViewにAddされてるなら親Viewから削除
    [newView removeFromSuperview];
 } else {
    // newViewが他のViewにAddされていないなら self.viewにAdd
    newView.autoresizesSubviews = YES;
    newView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | 
                                UIViewAutoresizingFlexibleHeight);
    [self.view addSubview:newView];
 }
	
 [UIView commitAnimations];
	
}
  • 以下の部分は、実機が縦ないし横に動いた場合 View をあわせる。2枚目のViewのために必要な処理
newView.autoresizesSubviews = YES;
newView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | 
                            UIViewAutoresizingFlexibleHeight);
 
Link: iPhone_Dev(3454d)
Last-modified: 2009-06-30 (火) 09:43:14 (3640d)