0

私はiPhone開発にかなり慣れていないので、これが以前に尋ねられた場合はご容赦ください.

で遊び始めたばかりUIScrollViewです。基本的に a と同じように機能させたいのですUITableViewが、よりカスタマイズされた「セル」を使用して、これを達成し、うまく機能しますが、明確にしたかっただけです。

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

次に、 を作成しましたが、からUIViewControllerにビューを追加するだけであることに気付きました。これは、「1 画面に 1つ」というパラダイムを破ったため、適切ではないと感じました。UIViewControllerUIScrollView[scrollView addSubview:myViewController.view]UIViewController

次にUIView、初期化メソッドでコントロールをビュー (いくつかのラベルと画像) に追加し、ペン先での設計方法に基づいて配置するサブクラスを作成しました。

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

で使用できるビジュアルに nib を利用する独自のカスタムUIView( ではない) クラスを作成するにはどうすればよいですか。UIViewControllerUIScrollView

の使用に慣れていない場合はUIScrollView、どこを見ればよいか教えてください。

ありがとう。

4

2 に答える 2

0

ペン先を使用して独自のUIViewを作成できます-

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

UIView *mySpecialView = [nibContents objectAtIndex:0];

[self addSubview:mySpecialView];

私はこのロードを使用しました-追加する必要のあるビューごとにUIViewControllerを作成するという極端なことをする必要はありません!

于 2012-04-11T15:15:43.537 に答える
0

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

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

カスタムセルに役立つコードを投稿する必要がありますか? もしよろしければ明日またチェックします。

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

于 2012-04-11T20:46:34.397 に答える