0

私はxcode 4.6アプリを開発するために使用しています。ここでは、プログラムで UIButton を UIscrollview に追加します。これは私が従うコードです。

UIButton *bt =[[UIButton alloc]initWithFrame:frame];
bt=[UIButton buttonWithType:UIButtonTypeCustom];
[bt setTitle:@"Custom Button" forState:UIControlStateNormal];
[bt addTarget:self action:@selector(userTappedOnLink:) forControlEvents:UIControlEventTouchUpInside];
bt.backgroundColor = [UIColor grayColor];
bt.titleLabel.textColor=[UIColor blueColor];
[self.mainscrollview addSubview:bt];
[self.mainscrollview bringSubviewToFront:bt];

ここでの問題は、ボタンをクリックすると消える (技術的にはテキストの色が白くなる) ことです。UIscrollview の色を赤のままにして、ボタンがまだビューにあることを確認しましたが、テキストの色が変わった理由と元に戻す方法がわかりません。基本的に、UIbutton を使用してクリック可能なリンクを作成したいと考えています。私はuitextviewアプローチ(datadetectortype)を知っていますが、リンクと実際のリンクのラベルに異なるテキストを表示したいので役に立ちません。

注: テキストの色は青に戻らず、白のみのままです。

前もって感謝します。

4

4 に答える 4

2

以下のコードを試してください

UIButton *bt =[UIButton buttonWithType:UIButtonTypeCustom];
bt.frame = CGRectMake(50.0, 50.0, 100.0, 50.0);
[bt setTitle:@"Custom Button" forState:UIControlStateNormal];
[bt addTarget:self action:@selector(userTappedOnLink:) forControlEvents:UIControlEventTouchUpInside];
bt.backgroundColor = [UIColor grayColor];
bt.titleLabel.textColor=[UIColor blueColor];
[self.scrollTest addSubview:bt];

-(void)userTappedOnLink:(UIButton*)sender
{
     NSLog(@"Test  ..");

    [self performSelector:@selector(changeBtnTextColor:) withObject:sender afterDelay:1.0];
}

-(void)changeBtnTextColor:(UIButton*)btn
{
  btn.titleLabel.textColor=[UIColor blueColor];
}

それがあなたのために働くことを願っています。

于 2013-03-21T05:59:08.223 に答える
2

以下のコードを使用すると、ソリューションが得られます

UIButton *bt =[[UIButton alloc]initWithFrame:frame];
bt=[UIButton buttonWithType:UIButtonTypeCustom];
[bt setTitle:@"Custom Button" forState:UIControlStateNormal];
[bt addTarget:self action:@selector(userTappedOnLink:) forControlEvents:UIControlEventTouchUpInside];
[bt setBackgroundColor:[UIColor grayColor]];
[bt setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[self.mainscrollview addSubview:bt];
[self.mainscrollview bringSubviewToFront:bt];
于 2013-03-21T05:43:54.337 に答える
0

以下のコードを使用してください。

[bt setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];

問題は、TitleをtitleLabelに設定し、buttonTitleの色のtextColorを変更していることです。

ではごきげんよう !!!

于 2013-03-21T05:41:39.773 に答える
0

ボタンのフレームを確認してください..それは有効かどうか?? コードから行を削除bt=[UIButton buttonWithType:UIButtonTypeCustom];します。

于 2013-03-21T05:43:27.820 に答える