2012-04-09 8 views
0

私はiPhone開発にかなり新しいですので、これが以前に尋ねられた場合は私を許してください。UIScrollViewで私自身のUIViewを使用する

私はちょうどUIScrollViewで遊んで始めました。基本的にはUITableViewと同じように動作させたいのですが、よりカスタマイズされた「セル」を使って、これを実現していますが、うまく動作しますが、ちょっとした説明が必要でした。

最初に私がこれらの「セル」をデザインしていたとき、XcodeでUIViewを作成しましたが、ビュー用のnibファイルしか作成しませんでしたが、参照アウトレットとアクションハンドラを扱うときには役に立ちませんでした。

は、その後、私はUIViewControllerを作成したが、私は自分自身だけUIScrollViewUIViewControllerからビューを追加した - [scrollView addSubview:myViewController.view] - そしてそれは「ワンUIViewController画面あたりの」パラダイムを破ったとして、これは右感じませんでした。

UIViewサブクラスを作成しました。初期化メソッドでは、コントロールをビュー(いくつかのラベルとイメージ)に追加し、ペンでどのようにデザインしたかに基づいて配置しました。

この最後の方法は、私が望むようにほとんど機能しますが、視覚的にセルを設計してnibファイルを利用することはできません。

UIScrollViewで使用できるビジュアル用のペンを使用して、独自のカスタムUIViewUIViewControllerではなく)クラスを使用することができます。

私はUIScrollViewの使用については私はどこに見えるか教えてください。

ありがとうございました。

+1

'UITableView'でセルをカスタマイズする可能性は、あなたの想像力によってのみ制限されます。ペン先を使用する必要はありません。コード内に独自のセルを設計できます。 [この本(http://www.amazon。'this guy '(http://stackoverflow.com/users/97337/rob-napier)による' UITableView'の権利取得に関する章があります。私はそれを強く勧めます。 – dasblinkenlight

+0

私はコードでセルを設計したくないので、それらをペン先で設計したいと思います。しかし、私がそれらを使用するために見つけることができる唯一の方法は、UIViewControllerとペン先を関連付けることでした。 – Brendan

+0

corect私が間違っている場合は...テーブルビューでセルをカスタマイズしたいのですか???? – WaaleedKhan

答えて

0

自分UIViewsを作るためにペン先を使用することができます -

NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil]; 

UIView *mySpecialView = [nibContents objectAtIndex:0]; 

[self addSubview:mySpecialView]; 

私はこの負荷を使用しました - それは、それぞれがあなたが追加する必要が見るためのUIViewControllerを作るの極端に行くことを確かに必要はありません!

+0

Interface BuilderでUIViewのカスタムクラスを設定した場合、UIViewの代わりにmySpecialViewをMyViewClassにキャストできますか? – Brendan

+0

はいいいえ問題は... – SomaMan

+0

これをやったことがありますが、XIBのビューをソースコードのビューに接続するためにXIBで行う必要があることが分かりました。このクラスは、キーイメージにキー値コーディングに準拠していません。 "' nibからビューをロードしようとするとエラーが発生します。提案? – Brendan

0

ここで使用しようとしている方法は、本当に問題を複雑にすることだと思います。 UITableViewには実際にはUIScrollViewが含まれています(ただし、アクセスできません)。したがって、デフォルトでは達成しようとしていることが既に行われています。また、ビューごとに1つのビューコントローラしかなければならないと思うのはなぜですか?実際には、アプリケーションを動作させて整理するのに必要な数のビューコントローラがあります。

あなたがUITableViewとカスタムUITableViewCellを使用することをお勧めします。ペン先のセルを簡単にデザインできます。新しい.xibに付属しているデフォルトのビューを削除し、その場所にUITableViewCellをドラッグするだけです。これは、カスタムUITableViewCellのViewControllerが必要であることを意味しますが、コントローラーは必要な場合はセルのテキストを設定する以外は何もする必要はありません。また、メモリを簡単に再利用してセルを再利用することもできます(ただし、Appleがセルを再利用できるように設計しているため、単純な再利用が可能です)。

カスタムに役立つコードを投稿する必要がありますか細胞?私が病気を知っていれば、明日は明日チェックしてください。

これはあなたのプロジェクト、幸運に役立つことを願っています。

関連する問題