我的Dropbox iPad登录模式视图控制器有问题:有时你无法写入密码文本字段;你可以选择它,键盘出现,但你不能写。解决方法是按下登录,它表示你没有输入密码,你按确定,再次选择它,现在可以正常工作。这对用户来说不是很好。所以现在问题是:有人找到了修复Dropbox SDK的方法,或者是我唯一拥有的问题吗?
答案 0 :(得分:1)
我将Dropbox SDK与iPad应用程序配合使用。我查看了他们的DBLoginController.h/.m
代码。密码控件是一个简单的UITextField
,已添加到UITableViewCell
。只有少数几个地方可以在运行中更改输入到字段中的文本。一个是-(BOOL)textField:shouldChangeCharactersInRange:replacementString
。查看DBLoginController中的代码,我看到了:
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {
[self performSelector:@selector(updateActionButton) withObject:nil afterDelay:0];
return YES;
}
这很好,因为它总是返回YES。
下一个可能性是textField实际上没有获得焦点。测试这个的最好方法是在shouldChangeCharactersInRange
中放置一个NSLog()。每次在密码字段中键入字符时都应该触发NSLog()。如果您正在键入并且没有看到任何NSLog()输出,则表示密码字段没有焦点。下一步是弄清楚做什么有焦点和原因。
DBLoginController是一个相当简单的类。追踪正在发生的事情应该不难。
最后一个想法:如果您在UITextField
上定义了任何类别,则可能会影响某些textField的工作方式。