iOS键盘和textview错误 - “使用未声明的变量”

时间:2012-08-02 20:46:54

标签: ios uiscrollview uitextfield uikeyboard

我正在尝试按照Apple的“用于iOS的文本,网页和编辑编程指南”中的步骤进行移动位于键盘下的内容(PDF打印输出的第36页),我在代码中不断收到错误,我直接从页面复制(清单4-1),其中包括keyboardDidShow下的这个代码段:():

    if (!CGRectContainsPoint(aRect, activeField.frame.origin)){
    CGPoint scrollPoint = CGPointMake(0.0, activeField.frame.origin.y-kbSize.height);
    [scrollView setContentOffset:scrollPoint animated:YES];
}

然后列出4-2:

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    activeField = textField;
}

(我确实有通知并经过测试可以正常工作。)

问题是Xcode将术语activeField标记为未声明的标识符。显然,这意味着我需要在某个地方声明,但是尽可能多地挖掘,我无法弄清楚哪里来声明它和如何来声明它。< / p>

我在其他地方已经看到过人们使用过相同的代码并且没有问题。为什么是我???

对于Xcode老兵来说,这可能没什么大不了的,所以我希望你能教育我。

谢谢!

1 个答案:

答案 0 :(得分:1)

只需在主视图控制器中声明变量:

@implementation MainViewController {
    UITextField *activeField;
}