本文介绍了如何随机放置UIButton和值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我有一个问题视图,会显示4个答案,只有1个是正确的。i have a question view and will show 4 answers, only 1 are correct.但我不希望同一个按钮始终是正确答案。but i do not want the same button to be always the correct answer.我想知道如何随机放置4个UIButton并且每次都值。i will like to know how do i do a random placement of 4 UIButton and value every time.当用户转到此问题时再次答案将在不同的按钮when user go to this question again the answer will be in differ button我的X,y,W,H的位置my placement of X,y,W,H按钮1 5,219,230 ,45button 15,219,230,45按钮2 5,273,230,45button 25,273,230,45按钮3 244,224,230,45button 3244,224,230,45按钮4 244,273,230,45button 4244,273,230,45推荐答案我碰巧正在开发类似的游戏应用程序,所以得到了一些肯定有用的代码。请在下面查看。请注意,我已将其设置为您为正确和不正确的按钮点击调用'correctAnswerMethod'和'wrongAnswerMethod'。I happened to be working on a similar game app, so got some code which will definitely help. Check it out below. Note that I've put it in that you'd call a 'correctAnswerMethod' and a 'wrongAnswerMethod' for the correct and incorrect button clicks.// Define the four buttons in their respective frames, create the first button as the correct one, we'll shuffle it later.UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];[button1 setTitle:@"Correct Answer" forState:UIControlStateNormal];[button1 addTarget:self action:@selector(correctAnswerMethod:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:button1];UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];[button2 setTitle:@"Wrong Answer 1" forState:UIControlStateNormal];[button2 addTarget:self action:@selector(wrongAnswerMethod:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:button2];UIButton *button3 = [UIButton buttonWithType:UIButtonTypeRoundedRect];[button3 setTitle:@"Wrong Answer 2" forState:UIControlStateNormal];[button3 addTarget:self action:@selector(wrongAnswerMethod:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:button3];UIButton *button4 = [UIButton buttonWithType:UIButtonTypeRoundedRect];[button4 setTitle:@"Wrong Answer 3" forState:UIControlStateNormal];[button4 addTarget:self action:@selector(wrongAnswerMethod:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:button4];//Create an array with the rectangles used for the framesNSMutableArray *indexArray = [NSMutableArray arrayWithObjects: [NSValue valueWithCGRect:CGRectMake(5, 219, 230, 45)], [NSValue valueWithCGRect:CGRectMake(5, 273, 230, 45)], [NSValue valueWithCGRect:CGRectMake(244, 219, 230, 45)], [NSValue valueWithCGRect:CGRectMake(244, 273, 230, 45)], nil];//Randomize the arrayNSUInteger count = [indexArray count];for (NSUInteger i = 0; i < count; ++i) { int nElements = count - i; int n = (arc4random() % nElements) + i; [indexArray exchangeObjectAtIndex:i withObjectAtIndex:n];}//Assign the framesbutton1.frame = [((NSValue *)[indexArray objectAtIndex:0]) CGRectValue];button2.frame = [((NSValue *)[indexArray objectAtIndex:1]) CGRectValue];button3.frame = [((NSValue *)[indexArray objectAtIndex:2]) CGRectValue];button4.frame = [((NSValue *)[indexArray objectAtIndex:3]) CGRectValue]; 这篇关于如何随机放置UIButton和值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-23 15:03