3

ラベルをボタンとして使用する際にいくつかの課題があります。UILabel として定義されたラベルがあり、.h ファイルで文字列変数を宣言しました。

IBOutlet UILabel *l1;

@property(strong)NSString *myvariable;

ラベルが選択された xib で、[Identity Inspector] ビューの [Document] の下に、必要なラベル名の [Label] フィールドが設定されています (例: l1)。また、ラベルに静的テキストがいくつかあります。

File's Owner Connection Inspector では、l1 アウトレットが l1 ラベルに接続されています。

私の目標: ラベルに触れたときに、.m ファイルで行われるようなテキスト値を文字列変数に割り当てるだけです。

self.myvariable = l1.text;

私が失敗したこと: - .h に UIButton を設定する - .m に UIButton を設定しようとした - XIB Identity Inspector ビューの [アクセシビリティ] の下で、ボタンの [特性] チェックボックスをチェックして、ラベルを次のように有効にしようとしたボタン

私はまだそれを理解していません。これはおそらく簡単なラベルの質問であり、ラベルに関する私の経験のほとんどには、静的テキスト表示、またはエポック時間を使用した現在の日付に基づくカウントダウンの表示が含まれます。どんなガイダンスも大歓迎です!

前もって感謝します!ロブ

4

4 に答える 4

6

周りを見回すと、ほとんどの人は実際のボタンを使用し、背景を透明または背景色に設定することを推奨しています。

つまり、次のようなことができます。

ビューでWillLoad:

    UILabel * label = [[UILabel alloc] init]; // change/delete to use your obj

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pushAction)];
[label addGestureRecognizer:tap];
label.userInteractionEnabled = YES;

次にセレクターを設定します。

- (void) pushAction
{
    self.myvariable = l1.text;
}
于 2013-04-07T17:33:22.993 に答える
0
UILabel *lblname        = [[ UILabel alloc]initWithFrame: CGRectMake(10, 120, 200, 35)];
lblname.text            = @"sunil";
lblname.textColor       = [UIColor blueColor];
lblname.textColor       = [UIColor blueColor];
lblname.backgroundColor = [UIColor orangeColor];
[self.view addSubview:lblname];

UIButton *btnpress      = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnpress.frame          = CGRectMake(10, 180, 300, 20);
[btnpress setTitle:@"click" forState:UIControlStateNormal];
[btnpress addTarget:self action:@selector(btnpress1) forControlEvents:UIControlEventTouchUpInside];
btnpress.backgroundColor = [UIColor redColor];
[self.view addSubview:btnpress];
于 2014-12-22T07:35:38.860 に答える
0

画面全体をボタンとして表示し、ボタンを押すと、ボタンの上に表示されるラベルのテキストが変更されるようにしたいと考えていました。これは私がxcodeで行った方法です:

ストーリーボードで、ボタンをインターフェイスにドラッグしました。ボタンを編集する右上で、ボタンのコンテンツをテキストではなく「グループ」に設定します。ボタンのアルファを 0 に設定しないでください。次に、ボタン/グループの上にラベルをドラッグしました。必要なアクションとアウトレットを Ctrl キーを押しながらドラッグするときは、必ずストーリーボードの左パネルを表示してください。ボタンのコンテンツ タイプを変更すると、マウスでしかグループにアクセスできなくなる可能性があります。

于 2015-03-17T21:50:58.953 に答える
0

UILabelをオーバーライドするカスタム クラスを作成できます。

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

xib の ID インスペクターで新しいカスタム UILabel を割り当てることができます。

于 2013-04-07T17:25:44.957 に答える