Dropbox iPad登录模式视图控制器的问题

时间:2011-07-12 11:09:25

标签: objective-c cocoa-touch sdk dropbox

我的Dropbox iPad登录模式视图控制器有问题:有时你无法写入密码文本字段;你可以选择它,键盘出现,但你不能写。解决方法是按下登录,它表示你没有输入密码,你按确定,再次选择它,现在可以正常工作。这对用户来说不是很好。所以现在问题是:有人找到了修复Dropbox SDK的方法,或者是我唯一拥有的问题吗?

1 个答案:

答案 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的工作方式。