我试图做一个游戏,其中有一个混乱的代数方程。 我已分配的出口方程的每个组件。 例如,如果方程为:
X2 + Y = 2(A + B)
然后X2(其为x的平方),+,Y,= 2(A + B)都将是它自己的出口。 但公式将被搞乱了,我希望用户将标签出口移到正确的顺序。 我已经启用touchesMoved,但我的问题在于检查是否方程式是正确的顺序。 我想包代码为IBAction
按钮动作,但如何对文本进行分析? 我会检查每个标签之间的偏差? 有没有一种简单的方法/ API做到这一点? 谢谢!
假设你的标签被称为xLabel
, plusLabel
, yLabel
, equalsLabel
和abLabel
,你可以这样做:
NSUInteger xLeftBorder = CGRectGetMinX(xLabel.frame);
NSUInteger plusLeftBorder = CGRectGetMinX(plusLabel.frame);
NSUInteger yLeftBorder = CGRectGetMinX(yLabel.frame);
NSUInteger equalsLeftBorder = CGRectGetMinX(equalsLabel.frame);
NSUInteger abLeftBorder = CGRectGetMinX(abLabel.frame);
if(xLeftBorder < plusLeftBorder && plusLeftBorder < yLeftBorder && yLeftBorder < equalsLeftBorder && equalsLeftBorder < abLeftBorder){
//Correct!
}
else{
//Incorrect
}
这有点笨拙,但它的作品。 一个更好的方式来做到这将是把这个函数与每个参数的标签来检查。 例如:
bool isCorrect = [self checkIf:xLabel isLessThan: plusLabel isLessThan: yLabel isLessThan:equalsLabel isLessThan:abLabel];
这是假设你写的函数返回一个布尔值。
希望这有助于!