2013-02-26 72 views
3

我想向简单的基于窗口的iPhone应用程序添加变量标签。 我正在使用XCode 3.2.6。 应用程序是一个的exaple我从网上下载的,是一样简单的:将交互标签添加到基于窗口的iPhone应用程序

  • 标签,用户可以键入一些文字
  • 一个提交按钮

用户点击时在提交时,标签中的文本通过一个简单的查询记录在mysql数据库中(数据库位于本地机器上,并通过php脚本处理)。 该查询的工作原理,我只是想添加标签来编写查询的结果。 所以我添加以下代码:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 20.0f)]; 
[label setText:@"write some text"]; 

但它不工作。 我是否需要将标签连接到Interface Builder中的某个对象? 非常感谢

+1

你到底在哪里添加标签到窗口?既然你自己创建了标签,你需要自己添加它(没有连接器)到窗口 – giorashc 2013-02-26 09:34:23

回答

0

UITextField听起来更好的解决方案...因此,您可以编辑消息并以编程方式设置文本。
Doc:http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextField_Class/Reference/UITextField.html

+1

-1这应该是评论而不是回答,因为你没有完全解决OP问题,或者至少显示什么是错的,它怎么可能是固定 – giorashc 2013-02-26 09:46:41

+0

因为我认为这是iOS SDK提供的不同元素的概念和知识问题(自定义'UILabel'作为'UITextField'听起来很奇怪),这可能是正确的答案,不是吗?我编辑的帖子更加一致。 – Larme 2013-02-26 09:49:06

+0

我在处理点击按钮和数据库交互的代码之后添加了它。 在控制台中,我从数据库获得响应,但我希望看到标签中的响应。 这是代码 \t NSString * strURL = [NSString stringWithFormat:@“http://localhost/phpFile.php?name =%@”,txtName.text]; \t NSData * dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]]; \t NSString * strResult = [[[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding] autorelease]; NSLog(@“%@”,strResult); – 2013-02-26 09:49:43

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(应improt你AppDelegate.h),当您单击提交按钮

- (void)clickSubmitButton:(UIButton)button 
{ 
     // TODO : get your text string 
     AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
     [appDelegate showText:YOURTEXT]; 
} 
+0

感谢您的帮助,为什么我会得到“标签:未声明”? – 2013-02-26 10:18:36

+0

在AppDelegate.h中添加如下标签属性:@property(nonatomic)UILabel * label; – 2013-02-26 10:21:49

+0

是的,我已经这样做了,但标签仍然没有声明!感谢您的耐心等待 – 2013-02-26 10:38:45

1

我想你忘记标签添加到您的看法是这样的:

[self.view addSubView: label]; 

它会插入到标签上解决当前视图

0

! 我错过了@synthesize标签!

相关问题