16

ストーリーボードを使用して作成および設計しようとしていますUIViewが、プログラムでストーリーボードに含めUIActionSheetます。これは基本的に、CoreGraphics ポジショニング関数をピクセルで使用しないようにするためです。

古い xcode では、コントローラーなしで UIView を nib にドラッグできたことを覚えています。

ビューは明らかにクラスに接続する必要があるため、IBOutlet はありますが、self.view

これが可能であると私が感じさせることの 1 つは、UIView をストーリーボードのコントローラーの黒いバーにドラッグすると、次のように配置されることです。

UIView でスナップ

ただし、画面自体には表示されません。この機能の目的は何ですか? どうにかしてこのビューを開いて、少しデザインすることはできますか?

4

2 に答える 2

8

絵コンテにのUIView外側を含めることはできません。UIViewControllerストーリーボードには、現在の API を識別またはインスタンス化する方法がわからないためだと思います。それは私が自分のために使ってきたものです。解決策は、1 つに XIB を使用し、UIViewプログラムでロードすることです (以前と同じように)。ほとんどのアイテムにストーリーボードを使用し、複数のビュー コントローラー間で再利用可能なビューに XIB を組み合わせるとうまく連携することがわかりました。

オブジェクトが初期化されるカスタム オブジェクトの一部として XIB をロードするために使用するコードを次に示します。

- (id)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        [[[NSBundle mainBundle] loadNibNamed:@"BannerView" owner:self options:nil] objectAtIndex:0];
        [self addSubview:self.view];
        self.frame = self.view.frame;
    }
    return self;
}

ビューをストーリーボードの黒いバーにドラッグすることについて。これらのビューは依然として の一部ですがUIViewController、最上位ビューの「サブビュー」ではありません。ドキュメントのアウトラインは階層をうまく示していると思います。

次のビューには、メイン ビューのサブビューではないため、メイン ビュー階層の外側に 2.1.1 ビュー、2.1.2 ビューなどがあります。その結果、デフォルトでは表示されません。私はIBOutletsセットアップを行っており、標準addSubview:removeFromSuperview.

IB 文書概要の例

于 2013-01-03T13:38:06.037 に答える