Действительно ли возможно для твердого кодирования IBAction
s и IBOutlet
s в коде, вместо перетаскивание соединенного их в Интерфейсном Разработчике?
Да, возможно ...
пример кода
UIButton *btnDetail = [UIButton buttonWithType:UIButtonTypeRoundedRect] ;
[btnDetail setFrame:CGRectMake(250.0f, 15.0f, 65.0f, 20.0f)] ;
//btnDetail.backgroundColor = [UIColor grayColor];
[btnDetail setTitle:@"Detail" forState:UIControlStateNormal];
[btnDetail setTitleColor: [UIColor redColor] forState: UIControlStateNormal];
[btnDetail.titleLabel setFont:[UIFont fontWithName:@"Verdana" size:12]];
[btnDetail setBackgroundColor:[UIColor clearColor]];
[btnDetail sizeThatFits:btnDetail.frame.size];
[self.view addSubview:btnDetail];
//IBAction
[btnDetail addTarget:self
action:@selector(ShowSavingAccountDetail:)
forControlEvents:UIControlEventTouchUpInside];
[btnDetail setImage:[UIImage imageNamed:@"btn-detail.png"] forState:UIControlStateNormal];
Концепция и единственная цель IBAction и IBOutlet - предоставить Interface Builder средства для соединения xib с вашим кодом.
Если вы не хотите использовать Interface Builder со своим кодом, вам не нужны IBAction или IBOutlet, они нужны ТОЛЬКО для использования объектов (кнопок, текстовых полей и т. Д.), Которые были созданы в вашем xib из ваших классов. .
С учетом сказанного, ответ mihirpmehta - это правильный способ программного добавления элементов пользовательского интерфейса в ваше представление и добавления к ним действий.