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];

现在的问题是 Button 在单击时消失了(从技术上讲,它的文本颜色变为白色)。我检查了保持 UIscrollview 颜色为红色,该按钮仍在视图中,但我无法了解其文本颜色更改的原因以及如何撤消 dis。基本上我想使用 UIbutton 创建一个可点击的链接。我知道 uitextview 方法(datadetectortype),但它没有用,因为我想在链接和实际链接的标签中显示不同的文本。

注意:文本颜色不会变回蓝色,仅保持白色。

提前致谢。

4

4 回答 4

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 回答
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 回答
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 回答