我正在尝试将一个变量标签添加到一个简单的基于窗口的iPhone应用程序中。 我正在使用XCode 3.2.6。 该应用程序是我从网上下载的一个例子,就像这样简单:
当用户点击提交时,标签中的文本将记录在一个带有简单查询的mysql数据库中(数据库位于我的本地计算机上并使用php脚本处理)。 查询有效,我只想添加标签来编写查询结果。 所以我添加了这段代码:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 20.0f)];
[label setText:@"write some text"];
但它不起作用。 我是否需要将标签连接到Interface Builder中的某个对象? 非常感谢
答案 0 :(得分:1)
我认为您忘记在视图中添加标签,如下所示:
[self.view addSubView: label];
这会在您当前的视图中插入您的标签
答案 1 :(得分:0)
UITextField
听起来更好的解决方案......通过它,您可以编辑消息并以编程方式设置文本。
Doc:http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextField_Class/Reference/UITextField.html
答案 2 :(得分:0)
您最好将UILabel *标签作为AppDelegate的属性。
然后在AppDelegate.m中,您可以初始化UILabel
_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 20.0f)];
在启动代码的最后,您应该将_label
添加到窗口,将_label
添加到前面
[self.window addSubView:_label]
并且在AppDelegate中你应该公开一个方法来设置文本。
- (void)showText:(NSString *)text
{
[_label setText:text];
[self.window bringSubviewToFront:_label];
}
在您的视图或viewControll中(应该侵犯您的AppDelegate.h),当您单击提交按钮时
- (void)clickSubmitButton:(UIButton)button
{
// TODO : get your text string
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate showText:YOURTEXT];
}
答案 3 :(得分:0)
解决了! 我错过了@synthesize标签!