3

単純なウィンドウベースのiPhoneアプリケーションに変数ラベルを追加しようとしています。XCode3.2.6を使用しています。このアプリは、私がWebからダウンロードした例であり、次のように単純です。

  • ユーザーがテキストを入力できるラベル
  • 送信ボタン

ユーザーが[送信]をクリックすると、ラベルのテキストがmysqlデータベースに簡単なクエリで記録されます(dbはローカルマシン上にあり、phpスクリプトで処理されます)。クエリは機能します。クエリの結果を書き込むためのラベルを追加したいと思います。だから私はこのコードを追加しました:

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

しかし、それは機能しません。Interface Builderでラベルをオブジェクトに接続する必要がありますか?本当にありがとう

4

4 に答える 4

1

次のようにビューにラベルを追加するのを忘れていると思います:

[self.view addSubView: label];

これにより、現在のビューにラベルが挿入されます

于 2013-02-26T10:04:53.923 に答える
0

UITextFieldより良い解決策に聞こえます...これにより、メッセージを編集し、プログラムでテキストを設定できます。
ドキュメント: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextField_Class/Reference/UITextField.html

于 2013-02-26T09:42:47.007 に答える
0

解決しました!@synthesize ラベルを見逃していました !

于 2013-02-26T11:54:50.493 に答える
0

AppDelegate のプロパティとして UILabel *label を作成することをお勧めします。

そして AppDelegate.m で、UILabel を初期化できます

_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 20.0f)];

Launch のコードの最後に、_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];
}
于 2013-02-26T09:59:29.337 に答える