我的要求: - 如果我填写一个垂直字,光标应移动到下一个垂直字,如果没有垂直字段,则跳转到第一个水平字
- 如果我填充一个水平字,如果没有水平字段可用,则光标应移动到下一个水平字nd应该跳到第一个垂直字
-(IBAction)textFieldEditingChanged:(CrossWordTextField*)textField{
int difference;
if ([textField.text length]==1) {
//[textField resignFirstResponder];
difference=13;
if (horizontalDirection) {
difference=1;
}
}
else if([textField.text length]==0){
[textField resignFirstResponder];
difference=-13;
if (horizontalDirection) {
difference=-1;
}
}
for (UIView *cellView in crossWordView.subviews) {
if (cellView.tag==textField.superview.tag+difference) {
for (CrossWordTextField *nextTf in cellView.subviews) {
if ([nextTf isKindOfClass:[CrossWordTextField class]]) {
[nextTf becomeFirstResponder];
}
}
}
}
}
我放置了一个视图,并在每个单元格的视图上放置了一个UITextField。 crossWordTextField是一个扩展UITextField的类。我已经使用了这个类,所以我可以使用textField的属性。
在这方面,请帮助我。如果需要更多信息,请提供必要的信息。TNQ提前
答案 0 :(得分:0)
我认为你必须使用二维矩阵(数组)。这很难解释,但我认为填字游戏是一个正方形及其边界,这样你的填字游戏就适合矩阵。因此,您将拥有一些带有文本框的元素,而其他元素则没有任何内容(NULL)。当您关注文本框时,可以查询该矩阵中的邻居文本字段。我没有足够的时间来写一个例子,但我希望这能指出你的解决方案。