そのような場合には以下の方法があります。
・再利用可能なUIView部品を作成し、コントロールの一部を組み込む。
・UIViewControllerをオブジェクト分割する
再利用可能なUIView部品の作成方法については下記にあるため参考とされたい。ここでのContrntViewは恐らくIBOutletで本体のViewに接続されてたものと思われます。
http://www.awaresoft.jp/development/35-iphone-app/93-create-reusable-ui-with-interface-builder.html
ここでは、後者、すなわち、Nibファイルは一個のままでUIViewControllerを分割する方法を記録します。
−−−*.h−−−−
まず分割したいオブジェクトのヘッダファイルを記述します。
#import
@interface decimalMode : NSObject {
NSString *now;
UIButton *zeroButton, *add2Button , *twoButton, *FButton;
}
@property (nonatomic, retain) NSString *now;
@property (nonatomic, retain) IBOutlet UIButton *zeroButton, *add2Button , *twoButton, *FButton;
-(void) zero ;
-(void) add2 ;
-(void) two ;
-(void) flowting ;
@end
そして、操作するUIをアウトレットか化します(ここでは、zeroButton-FButton)。
−−−*.m−−−−
つぎに、実行ファイル(*.m)を記載しますが、ここでの注意点はNibが起動した際に、このオブジェクトを包含して起動してもらうことです。そのために以下のコードを付加します。
-(void) awakeFromNib {
[super awakeFromNib];
}
あとは普通にzeroからflowtingまでの処理(ここではUIButtonの色操作)を実装します。
−−−*.xib−−−−
次にNibファイルにLibraryからオブジェクトを導入します。
この際、Command+F4でオブジェクトを追加したオブジェクトに変更します。
そうするとIBOutletで指定した足がCommand+F2とかで見ることができると思います。
この足を、マウス右クリック等で、該当するUI部品(この場合はボタン)と連接します。
ーーー*.UIViewController.hーーー
さらにUIViewContrller.hに、当該オブジェクトのヘッダファイルをインポートし、
さらに当該オブジェクトをアウトレット指定します。
#import "decimalMode.h"
@interface makidenViewController : UIViewController{
....
decimalMode *DecimalMode;
}
....
@property (nonatomic, retain) IBOutlet decimalMode *DecimalMode;
@end
さらに、InterfaceBuilderに戻り、File's OWnerから実装したオブジェクト(ここではDecimalMode)
に向けて、マウス右クリックしながらのドラックなどで、このアウトレットをオブジェクトとリンクします
ーーー*.UIViewController.m ーーー
お決まりの@synthesizeや=nil, [... release]を実装さえすれば、
オブジェクトが自動でロードされるため、初期化処理なしでいきなり当該オブジェクトを呼び出すことができます。
[DecimalMode zero];
以上です。やったね。
0 件のコメント:
コメントを投稿