UITextField settext无法正常工作

时间:2011-05-11 18:09:49

标签: iphone objective-c cocoa-touch

这令我感到沮丧。我是初学程序员,无法弄清楚文本没有被更改的原因。

这是我的方法,它应该设置UITextField的文本:

-(void)updateDays:(NSInteger)days
{
    NSString* daysString = [[NSString alloc] initWithFormat:@"%d", days];
    [daysTextField setText:daysString];
    [daysString release];
}

无论出于何种原因,一切都没有发生。

帮助appreaciated!

4 个答案:

答案 0 :(得分:6)

任何时候你都会对“为什么这条线不工作”感到沮丧,使用调试器或者只是在它之前添加一个NSLog来打印相关数据:

NSLog(@"updateDays: %@ %@ <= %@", daysTextField, daysTextField.text, daysString);

然后你知道线(a)正在执行,(b)变量是你认为的变量,(c)值是合理的。

答案 1 :(得分:4)

我已经多次经历过这次,但我认为所有这些都是因为UITextField在那时没有被初始化。

设置断点并使用调试器确保UITextField不是。您还应该检查.xib文件和代码之间的连接。

答案 2 :(得分:0)

检查方法是否被调用。如果是,请检查文本字段是否设置正确。交叉检查以查看IBOutlet连接是否与正确的对象建立。

答案 3 :(得分:0)

我也遇到了这个问题。

这是我的代码:(在viewdidload中)

UITextView *tv = [[UITextView alloc]initWithFrame:CGRectMake(0,0,320,50)]];
tv.text = @"12345";
tv.textColor=[UIColor blackColor];
[self.view addSubView:tv];

文字(12345)没有显示;

最后,我发现当我将textColor设置为灰色或任何不是黑色的颜色时,它都有效;

我认为这是模拟器的一个错误。

我使用xcode 4.2和iphone5.0simulator。