UIScrollViewを含むUIViewControllerがあります。
次に、データが終了するまでこのUIScrollViewにプログラムで追加したいいくつかのプロパティを使用して新しいUIViewサブクラスを作成しました。
この写真のように見えるはずの何か:
ビューを作成し、そのクラスをカスタムビューサブクラスに設定することでそれを行う他のトピックを読みましたが、プログラムで実行したいのですが、機能しません。
どうすればいいですか?
UIScrollViewを含むUIViewControllerがあります。
次に、データが終了するまでこのUIScrollViewにプログラムで追加したいいくつかのプロパティを使用して新しいUIViewサブクラスを作成しました。
この写真のように見えるはずの何か:
ビューを作成し、そのクラスをカスタムビューサブクラスに設定することでそれを行う他のトピックを読みましたが、プログラムで実行したいのですが、機能しません。
どうすればいいですか?
画像からは、ペン先からビューを読み込み、UIScrollViewのサブビューとして追加しようとしているように見えます。これを行うには、UINibのドキュメントを参照してください。
ペン先を作成し、メインビューをUIViewサブクラスのインスタンスに設定してから、ペン先をviewDidLoad
viewControllerにロードし、ペン先のビューをスクロールビューのサブビューとして追加します(これは、viewControllerのサブビューであると想定しています)。見る)。
でペン先をインスタンス化できますinstantiateWithOwner:options:
。
このメソッドは、各オブジェクトをアーカイブ解除して初期化し、そのプロパティを構成された値に設定し、他のオブジェクトへの接続を再確立します
ペン先からビューの配列を取得するには、次のような操作を行います。
UINib *myNib = [UINib nibWithNibName:@"myNib" bundle:[NSBundle mainBundle]];
NSArray *viewsFromNib = [myNib instantiateWithOwner:nil options:nil];
UIViewController内にいて、どこか(または後)にいると仮定しますviewDidLoad
。次に、上から配列を使用して、スクロールビューのサブビューとしてビューを追加します。これらのビューを適切に配置するには、これらのビューのフレームを設定する必要がある場合がありますが、それは簡単なことです。
UIView *aView = [viewsFromNib objectAtIndex:0];
[self.scrollView addSubview:aView];
それがあなたを正しい方向に導いてくれることを願っています。
編集:
より多くの情報が必要な場合は、ニブが期待を管理するためにどのように機能するかを深く読む必要があるかもしれません。UINibのドキュメントにリンクされているのは、「リソースプログラミングガイド」、特にnibセクションです。
アンドレ、これは比較的簡単にできます。埋め込みたいクラスを必ずインポートしてください。次に、法線でそれらを作成します
ClassName *subview=[[ClassName alloc]init];
[subview.view setFrame:CGRectMake(x,y,width,height)];
[self.view addSubview:subview.view];
これにより、幅、高さで指定されたサイズで指定したx、y座標に追加されます。これは、viewDidLoad で、またはそれらを作成する必要があるときにいつでも実行できます。