кнопка добавления iphone внутри uiviewcontroller

У меня есть контроллер панели вкладок с 3 вкладками. В одной из вкладок представление представляет собой uiviewcontroller. Я хочу добавить кнопку внутри представления, поэтому, когда я нажимаю на вкладку, отображается кнопка. Как я могу сделать это без построителя интерфейса???


person Brian    schedule 20.04.2011    source источник


Ответы (1)


В вашем контроллере представления

 UIButton *aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
 aButton.frame = CGRectMake(10,20,200,30);
 [aButton setTitle:@"My BUTTON" forState:UIControlStateNormal];
 [aButton addTarget:self action:@selector(buttonPushed) forControlEvents:UIControlEventTouchUpInside];
 [self.view addSubview:aButton];

Затем вам нужно реализовать метод buttonPushed, чтобы делать все, что должна делать кнопка.

person Rayfleck    schedule 21.04.2011
comment
Я сделал это, мой метод buttonPushed был просто -(void) doNothing, потому что я просто хотел увидеть его нарисованным на экране, и он не рисовал никакой кнопки на экране. В моем делегате приложения у меня есть это: - person Brian; 21.04.2011
comment
создайте UIViewController с помощью alloc init, а затем добавьте его на панель вкладок в виде массива. Ничего не рисуется. - person Brian; 21.04.2011
comment
Кроме того, я поместил эту реализацию в метод viewDidLoad. Это должно быть в инициализации? - person Brian; 21.04.2011
comment
Я вставил его в инициализацию, и это ничего не решило. Пожалуйста, я знаю, что это легко, но что происходит???? - person Brian; 21.04.2011
comment
Вы добавляете свой tabbar.view в качестве подвида окна приложения? - person Rayfleck; 21.04.2011
comment
да, у меня есть это: [_window addSubview:[_applicationController view]]; где applicationController — это таббарконтроллер - person Brian; 21.04.2011
comment
Итак, вы видите вкладки? Если это так, найдите контроллер представления для одной из вкладок. Он будет в массиве viewControllers, который вы установили в tabBarController. Перейдите к viewDidLoad ЭТОГО контроллера представления и добавьте код кнопки. - person Rayfleck; 21.04.2011
comment
да, я вижу все 3 вкладки, у меня есть значки и названия для них. Я поместил код кнопки в этот метод viewDidLoad. вот что у меня там есть:-(void)viewDidLoad { //[super viewDidLoad]; Кнопка UIButton* = [кнопка UIButtonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(10.0f, 430.0f, 300.0f, 30.0f); [кнопка setTitle:@TEST forState:UIControlStateNormal]; [кнопка addTarget: само действие: @ selector (doNothing) forControlEvents: UIControlEventTouchUpInside]; setView: кнопка]; [self.view addSubview: кнопка]; } -(void)ничего не делать { } - person Brian; 21.04.2011
comment
Большое спасибо за помощь. У моей тупой задницы была слишком большая кнопка, и ничего не отображалось! - person Brian; 21.04.2011
comment
Было показано, что разработка, управляемая прикладом, имеет некоторые недостатки. :-) Рад, что это работает. - person Rayfleck; 21.04.2011