2016-04-16 9 views
0

ボタンを含むドロップダウンと呼ばれるカスタムUIViewを作成しています。 .hファイルで私は、ボタンを初期化し、UIViewのコンストラクタで、私はフレームに追加し、タイトルを設定します。私のViewControllerのviewDidLoadでUIButtonがカスタムUIViewに追加されないObjective C

-(id) initWithFrame:(CGRect)frame title1:(NSString*)text1{ 
    self = [super initWithFrame:frame]; 

    if (self){ 
     _button1 = [UIButton buttonWithType:UIButtonTypeCustom]; 
     [_button1 setTitle:text1 forState:UIControlStateNormal]; 
     _button1.frame = CGRectMake(10, 10, 50, 20); 
     [self addSubview:_button1]; 

    } 
    return self; 
} 

次のように私は、ドロップダウンオブジェクトをインスタンス化しています:

_dropDown = [[DropDown alloc] initWithFrame:_dropDown.frame title1:@"Title"]; 

_dropDownオブジェクトはIBOutletであると私はビューコントローラ上でそれをフックアップここでコンストラクタです。アプリケーションを実行すると、ボタンが表示されず、理由が不明です。どんな助けでも大歓迎です。

答えて

1

この文

_dropDown = [[DropDown alloc] initWithFrame:_dropDown.frame title1:@"Title"]; 

_dropDownがまだ割り当てられていないので、この時点ではnilある参照_dropDown.frame。

_dropDown = [[DropDown alloc] initWithFrame:CGRectMake(10, 10, 50, 20) title1:@"Title"]; 

(あなたがCGRectMakeのためのサイジングを把握する必要があります)

:私は明示的にもっとこのようなフレームを作成することをお勧め
関連する問題