0
我一直在研究一个应用程序,我在IB中手动创建了一打按钮。我现在想重新开始,并且在代码中做所有事情,因为我需要动态的按钮数量。我还想做其他事情像手动控制,他们出现等等等等在数组中创建UIButton并将它们添加到MainViewController中
在MainViewController.h
:
@property (nonatomic, retain) IBOutlet UIButton *startButton;
@property (nonatomic, retain) IBOutlet UIButton *stopButton;
@property (nonatomic, retain) IBOutletCollection(UIButton) NSMutableArray *tiles;
- (IBAction) tilePressed:(id)sender;
- (void) initTiles;
在MainViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
[self initTiles];
}
- (void)viewDidUnload
{
[self setStartButton:nil];
[self setStopButton:nil];
[self setTiles:nil];
[super viewDidUnload];
}
-(void)initTiles
{
//tiles = [[NSMutableArray alloc] initWithCapacity:5];
for (int count = 0; count < 5; count++)
{ //I used tiles.count here, but that fails
UIButton *b = [[UIButton alloc] initWithFrame:CGRectMake(count*10+10, 10, 10, 10)];
[b setTitle:[NSString stringWithFormat:@"%i",count+1] forState:UIControlStateNormal];
[b setTag:count];
[b setHidden:NO];
[b addTarget:self action:@selector(tilePressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:b];
}
}
-(IBAction)tilePressed:(id)sender {
NSLog(@"button pressed: %i", [sender tag]);
}
我一直试图做的是只需在屏幕上添加5个按钮。理想情况下,我想创建按钮,将它们放在一个数组(NSMutableArray)中,以便稍后操作它们,然后在MainViewController上投掷tiles
。但我甚至没有没有瓷砖对象的控制器的按钮。
编辑:我想我会补充一点,它们属于一个数组并不重要,重要的是我可以稍后与它们进行交互,也就是说,会出现动画和文本变化等等。最初的问题然而,就是他们没有显示在控制器上
我不觉得自己像一个昏暗的机智大声笑。谢谢你:) – Madivad
不用担心,直到你知道它并不明显! :-) – lnafziger