Iphone 将NSMutableArray的随机UIButtons标题放入NSMutableArray的UIButtons
我有一个带有3个UIButtons的NSMutableArray和第二个带有50个UIButtons的NSMutableArray。我想用这3个UIButton标题将其逐字符分配给SecondArray的每个UIButton。但SecondArray的这50个UIButton中的每一个都有一个字符。我的基本目的是首先检查我的第一个数组的每个UIButton标题的长度,然后将其按索引分配给第二个数组中的UIButton(对于Exp,如果我的第一个按钮有标题“stack”,第二个“over”和第三个“flow”否,我想在第二个数组中分配索引为0-5、13-16、35-38的UIButton)。我的第一个数组有3个UIBTton。下面是代码Iphone 将NSMutableArray的随机UIButtons标题放入NSMutableArray的UIButtons,iphone,objective-c,ios,uibutton,nsmutablearray,Iphone,Objective C,Ios,Uibutton,Nsmutablearray,我有一个带有3个UIButtons的NSMutableArray和第二个带有50个UIButtons的NSMutableArray。我想用这3个UIButton标题将其逐字符分配给SecondArray的每个UIButton。但SecondArray的这50个UIButton中的每一个都有一个字符。我的基本目的是首先检查我的第一个数组的每个UIButton标题的长度,然后将其按索引分配给第二个数组中的UIButton(对于Exp,如果我的第一个按钮有标题“stack”,第二个“over”和第三个
NSMutableArray *buttons = [NSMutableArray arrayWithObjects:btn1, btn2, btn3, nil];
[btn1 setTitle:@"stack" forState:UIControlStateNormal];
[btn2 setTitle:@"over" forState:UIControlStateNormal];
[btn3 setTitle:@"flow" forState:UIControlStateNormal];
这是我的代码。创建50个UIButton
-(void)button:(id)sender {
saveBtn = [[NSMutableArray alloc] init];
arr=[[NSArray alloc]
initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",
@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z",nil];
for (int i=0; i<50; i++) {
btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(spacex, spacey, 30.0, 30.0);
int idx;
idx = arc4random()%[arr count];
NSString* titre = [arr objectAtIndex:idx];
[btn setTitle:titre forState:UIControlStateNormal];
spacex = spacex + 30;
[saveBtn addObject:btn];
[self.view addSubview:btn];
}
}
-(无效)按钮:(id)发送者{
saveBtn=[[NSMutableArray alloc]init];
arr=[[NSArray alloc]
initWithObjects:@“A”@“B”@“C”@“D”@“E”@“F”@“G”@“H”@“I”@“J”@“K”@“L”,
@“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”、“nil”);
对于(inti=0;iThanx,帮助每一个人..但我在这里做的是代码。我希望它能帮助其他人
- (void)getbuttontitle {
for(int i = 0;i<[buttons count];i++)
{
if(i == 0)
{
UIButton *b1 = [buttons objectAtIndex:0];
a = (NSString *)[[b1 titleLabel] text];
[storewords addObject:a];
NSLog(@"b=%@",a);
}
else if(i == 1)
{
}
else if(i == 2)
{
}
}
}
for (NSString *str in storewords) {
if (str==a) {
int j = 0;
int randn= (arc4random()%5)+1 ;
NSLog(@"n=%d",randn);
for (int i=randn; i<[a length]+randn; i++) {
NSLog(@"a=%@",a);
NSString *ichar = [NSString stringWithFormat:@"%c", [a characterAtIndex:j]];
UIButton* b = [saveBtn objectAtIndex:i];
NSLog(@"a=%@",ichar);
j++;
[b setTitle:ichar forState:UIControlStateNormal];
}
}
if (str==c) {
}
if (str==d) {
}
}
-(无效)GetButtontile{
对于(inti=0;我认为在事件处理程序方法-(void)button:(id)sender
)中创建按钮数组不是一个好主意。或者这是故意的?您可以在之前创建按钮(在某种init或loadView方法中)并且只在事件处理程序中分配它们的标题。无论如何:至于你的主要问题:你能详细说明一下你到底想要实现什么吗?你可以用[(UIButton*)[saveBtn objectAtIndex:index]setTitle:@“title”forState:UIControlStateNormal];
指定具有特定索引的按钮标题。不确定这是否是你的问题:)我真的不明白你的问题…你正在添加50个按钮,其中包含从“A”到“Z”的随机标题,并将它们存储在saveBtn中,然后用不同的x坐标显示它们?问题是什么?亲爱的你,对了,但我想将这些随机标题“A”替换为“Z”,从我要分配第一个数组uibutton标题的uibutton中具体指标上的“叠加”、“叠加”和“流动”,我在问题中提到过。