2

ストーリーボードで、別のペン先から UIView のコンテンツをロードする方法を知っている人はいますか? コードでこれを簡単に実行できることはわかっていますが、IB でさらに多くのことを行う方法を見つけようとしています。

メインの UI レイアウトを含むストーリーボードがあり、UIScrollView があり、その内容を IB でデザインしたいと考えています。これを行う方法を理解できる唯一の方法は、独自の.nibでUIViewを設計することでしたが、私の問題は、コーディングせずにnibをロードするにはどうすればよいですか? これは可能ですか?それは私にはあまりにも遠く離れているようには見えません。

4

3 に答える 3

2

IB で UIScrollView をレイアウトしたいだけだと思いますが、.nib が言及されているのは、それがあなたが調査していたアプローチだったからですが、ストーリーボードでこれを厳密に行うことができれば、それは許容できます。

  1. まず、UIScrollView のサブクラスである Xcode で新しいファイルを作成します。

  2. ストーリーボードで、このスクロール ビューを表示するシーン (viewcontroller) に UIScrollView をドラッグします。

  3. ID インスペクターで、UIScrollView のカスタム クラスを UIScrollView のサブクラスに設定します。

  4. UIScrollView を表示されている ViewController サブクラスの .h ファイルに Ctrl キーを押しながらドラッグして、この UIScrollView のアウトレットを作成します。myScrollView のような名前を付けます。

  5. ViewController の -viewDidLoad メソッドで、UIScrollView の contentSize プロパティを任意のサイズに設定します。したがって、次のようになります。

    self.myScrollView.contentSize = CGSizeMake(800,800);

  6. 次に、UI オブジェクトを UIScrollView にドラッグしてデザインします。

  7. 重要: これらのオブジェクトへのアウトレットを作成するには、少し注意が必要です。UILabel をドラッグしたとしましょう。UIScrollView サブクラスに手動で移動し、.h に追加する必要があります。

    @property (非アトミック、弱い) IBOutlet UILabel* myLabel;

そして.mへ

@synthesize myLabel = _myLabel;
  1. 次に、アウトライン ビューをストーリーボードと共に画面に表示し、Ctrl キーを押しながらスクロール ビューからラベルにドラッグして、アウトレットを作成する必要があります。これは、慣れ親しんだものとは逆のようなものです。

  2. これで、viewcontroller または scrollview サブクラス内からそのアウトレットを参照できるようになりました。たとえば、viewcontroller -viewDidLoad では、次のように言えます。

    self.scrollView.myLabel.text = @"Hello World";

チッ!

于 2012-08-03T13:36:06.323 に答える
1

IBのスクロールビュー内で編集したい場合は、面倒ですが実行可能です。この質問に対する私の回答をご覧ください。

于 2012-08-02T03:24:11.670 に答える
0

IB に汎用 UIView を追加し、そのカスタム クラスを nib ファイルの名前に設定します。

GradientControl を nib ファイルの名前 (「.xib」を除いたもの) に置き換えます。 スクリーンショット

于 2012-07-28T03:11:52.333 に答える