Добавить UIButton программно из IBAction - PullRequest
1 голос
/ 29 марта 2012

Я пытаюсь выполнить действие, при котором каждый раз, когда вы нажимаете кнопку, она добавляет кнопку к представлению.Ничто из того, что я пробовал, не работает.

Было бы очень признательно, если бы кто-нибудь смог выяснить, что делать.

Это самая последняя попытка моей кнопки добавления кнопки:

-(IBAction) addButton{
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(10,10,50,50);
    button.tag = 1;

    [button addTarget:self 
               action:@selector(buttonTouched:) 
     forControlEvents:UIControlEventTouchUpInside];
    [view addSubview:button];
}

Ответы [ 4 ]

6 голосов
/ 29 марта 2012
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(10,10,50,50);
button.tag = 1;
[button addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];

Try the above codes.
1 голос
/ 29 июля 2013

Ваш код правильный. Только измени эту строку

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

до

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

чтобы показать кнопку на виде.

UIButtonTypeCustom не отображается, хотя и добавляется в представление.

Вы можете понять это, изменив цвет кнопки. например, измените код на этот.

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.backgroundColor=[UIColor redColor];

Надеюсь, это работает. Наслаждайтесь.

1 голос
/ 29 марта 2012

вам нужно добавить это

   #import <QuartzCore/CoreAnimation.h>

, затем выполните следующее

 -(IBAction)buttonTouched:(id)sender{
         NSLog(@"New Button Clicked");
     }
     -(IBAction)addButton:(id)sender
     {
         UIButton *btnallstates;
         UIImage *statesbtnimg=[UIImage imageNamed:@"1.png"];
         btnallstates=[[UIButton buttonWithType:UIButtonTypeCustom]retain];
         btnallstates.tag=1;
         btnallstates.frame=CGRectMake(103, 127, 193, 31);
         [btnallstates.layer setBorderWidth:0];
         [btnallstates addTarget:self action:@selector(buttonTouched:)      forControlEvents:UIControlEventTouchUpInside];
         [btnallstates setBackgroundImage:statesbtnimg forState:UIControlStateNormal];
         [self.view addSubview:btnallstates];

  }
0 голосов
/ 21 февраля 2014
Try this 

 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
 [button addTarget:self 
       action:@selector(aMethod:)
  forControlEvents:UIControlEventTouchUpInside];
 [button setTitle:@"Show View" forState:UIControlStateNormal];
 button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
 [self.view addSubview:button];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...