2012-03-27 7 views
2

Я пытаюсь создать UIButton программно. У меня есть кнопка под названием «addCash» (которая уже была создана в построителе интерфейса), нажав эту кнопку, я хочу, чтобы другая кнопка динамически отображалась. Эта кнопка отлично работает, когда выполняется в viewDidLoad, но это не то, что я хочу, так как «addCash» нужно использовать, прежде чем эта новая кнопка будет создана. Это то, что я до сих пор ...Нажмите UIButton для создания другого UIButton программно

-(IBAction) addCash{ 
UIButton *theButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; 
theButton.frame = CGRectMake(80, 50, 150, 40); 
[theButton setTitle:@"title" forState:UIControlStateNormal]; 
[theButton addTarget:self action:@selector(test:) forControlEvents:UIControlEventTouchUpInside]; 
[theButton setBackgroundImage:[UIImage imageNamed:@"edit.jpg"] forState:UIControlStateNormal]; 

[self.view addSubview:theButton]; 
} 
+4

Зачем программировать кнопку? Почему бы не создать его в IB заранее, а с помощью 'hidden = YES' и просто показать его при нажатии первой кнопки? – yuji

+3

Вы просачиваете 'theButton'. Почему вы его сохраняете? –

+0

также почему вы оставили отправителя от подписи метода? т. е. - (IBAction) addCash: (id) отправитель {...} ?? – bennythemink

ответ

1

Если вы обычный добавить много кнопок использовать UITableViewwith custom cell. Если вы просто добавите новые кнопки для просмотра, вы получите проблему с производительностью - все ваши кнопки будут загружены одновременно. UITableView может управлять этой ситуацией и выгружать неиспользуемые ячейки.

Смежные вопросы