私はこれを行うための一つの方法は、以下の手順を実行することです見つけた:
- 新しいXIBファイルを作成し、「自由形式」にリサイズできるようにシミュレートされたメトリックを設定します。
(MyControl.xib)
- コントロールに必要なオブジェクトをコントロールに挿入します。
- ビューのUIViewControllerを作成します。
MyControl.xib
私はコントロールを含めるXIBで
-
MyViewController
カスタムクラスへの
File's Owner
を設定し
(MyViewController.h & MyViewController.m)
- は、私は(通常のビューがあまりにも動作します)私がコントロールしたいUIScrollViewのを置きます。 (
Parent.xib
)
UISCrollView
のIBOutlet
を作成し、コントロールをParentController
に挿入します。
ParentController
にMyViewController
のインスタンスを作成します。
ParentController
にはUIScrollView
のサブビューとしてMyViewController
のビューを追加します。コードで
、これは
@implementation ParentController
@synthesize myScrollView;
MyViewController* myController;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super init];
if(self)
{
myController = [[MyController alloc] initWithNibName:@"MyView" bundle:nil];
[myScrollView addSubview:myController.view];
}
}
を意味これが動作しているようですし、私は、コントロールの実装と親を分離することができますが、私は助けるが、より良い方法があると考えることはできません。
+1私はストーリーボードが今まで存在していたことも知らなかったので+1します。 – JeremyP
これはかなり曖昧な質問です。絞り込んで、どんな種類のコントロールを作成するかを提案することができます。これは主に、他のコントロールが持っていない機能をあなたが望む機能に依存します。 – Jamie
私は、基本的なものからなる複合コントロールを作りたいと思います。たとえば、左側にロゴ、上部にタイトル、タイトルの下にサブタイトルなどのようなものを持つカスタネットタイトルバーを作成したいと考えています。私の思想は、私がいくつかのビューに含まれているような自分のコントロールを作成することができるということです。そうすれば、後で私はそれを変更したいと思うなら、私はすべてのビューを変更する必要はありません - ただ一つのコントロール。私はオブジェクトライブラリ内の "カスタムオブジェクト"領域を見ましたが、これが私が望むものか、それをどうやって使うのか見つからなかったのです。 – brianestey