1

カスタムビューを作成することに興味があるので、次のxibファイルを作成しました。

ここに画像の説明を入力してください

これは定義ファイルです:

- (void)_baseInit {
    NSLog(@"Unseen View loaded");
    [self addSubview:[self activityIndicator]];
    [self activityIndicator].alpha = 1.0;
    [self activityIndicator].frame = CGRectMake(round(([self imageView].frame.size.width - 25) / 2),
                                                round(([self imageView].frame.size.height - 25) / 2), 25, 25);
    [self activityIndicator].hidesWhenStopped = YES;
    [self showIndicator];

    UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(move:)];
    [self imageView].userInteractionEnabled = YES;
    [panRecognizer setMinimumNumberOfTouches:1];
    [panRecognizer setMaximumNumberOfTouches:1];
    [panRecognizer setDelegate:self];
    [[self imageView] addGestureRecognizer:panRecognizer];

}

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self _baseInit];
    }
    return self;
}

- (id)initWithCoder:(NSCoder*)coder
{
    if ((self = [super initWithCoder:coder])) {
        [self _baseInit];
    }
    return self;
}

ストーリーボードに接続しようとしました。

バツ

そして、viewDidLoad中にMainViewControllerにこれを呼び出させます。

- (void)viewDidLoad {
    [super viewDidLoad];

    self.unseenView = [[[NSBundle mainBundle] loadNibNamed:@"UnseenView" owner:self options:nil] objectAtIndex:0];
    self.unseenView.delegate = self;

残念ながら、私のシミュレータには文字通り何も表示されておらず、テキストラベルも表示されていません。 ここに画像の説明を入力してください

ただし、次のログメッセージが表示されます。

2013-02-20 17:37:58.929 Giordano.iPhone[66857:c07] Unseen View loaded
2013-02-20 17:37:58.934 Giordano.iPhone[66857:c07] Unseen View loaded

私は何が間違っているのですか?

4

1 に答える 1

1

ビューを正しく準備しているように見えますが、ビュー階層に追加していません。viewDidLoadコードに次の行を追加する必要があります。

[self.view addSubview:unseenView];
于 2013-02-21T01:52:17.637 に答える