0

アプリにたくさんのカスタムボタンが必要です。現在、ストーリーボードを使用して、必要なすべてのコントローラーでこれらのボタンを定義しています。ただし、アプリ全体でそれらが必要なので、サブクラスUIViewなどの別のビューコントローラー/ビューを配置する方が良いUIViewControllerと思います。変更を加える必要がある場合は、別のビューではなく、一度だけ実行する必要があります。ビューコントローラ。これを行うための最良の方法は何でしょうか?また、プログラムでボタンを作成する方法を教えてください。これは私が現在行っていることであり、完全に空白の画面が表示されます。

-(void)viewDidAppear:(BOOL)animated 
{ 
    UIButton *testButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [testButton setFrame:CGRectMake(0, 390, 100, 40)];
    [testButton setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin];
    [setImage:[UIImage imageNamed:@"test_button"] forState:UIControlStateNormal];
    [setImage:[UIImage imageNamed:@"test_button"] forState:UIControlStateHighlighted];  
    [setEnabled:YES];
    [self.view addSubview:testButton];
 }
4

1 に答える 1

1

ボタンが目に見える長方形から離れている可能性があります。プログラムでボタンを追加する場合、ほとんど正しく行っています。また、画像にはファイル拡張子が必要です。customButton を追加しているため、画像がない場合、ボタンは表示されません。ボタンにタイトルを追加してみてください。画像が追加されていなくても表示されます。

以下のコードを試してください。

-(void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; //you must have a good reason to not add this line.
    UIButton *testButton=[UIButton buttonWithType:UIButtonTypeCustom];
    [testButton setFrame:CGRectMake(0, 20, 100, 40)];
    [testButton setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin];
    [testButton setImage:[UIImage imageNamed:@"test_button.png"] forState:UIControlStateNormal];
    [testButton setImage:[UIImage imageNamed:@"test_button.png"] forState:UIControlStateHighlighted]; 
    [testButton setEnabled:YES];
    [self.view addSubview:testButton];
 }
于 2013-01-24T04:04:33.423 に答える