如何在iOS中以编程方式设置Button文本?

时间:2011-11-02 03:15:59

标签: ios uibutton

我知道如何在iOS中以编程方式更改按钮文本:

[myButton setTitle:@"myTitle" forState:UIControlStateNormal];

但我的需要是我有一个名为_lblgenisis的标签,我放了一些代码来改变这个标签的文本,它对我来说很好,代码是:

_lblGenisis.text = [NSString stringWithFormat:@"%@ %@",delegate.selectedBook,delegate.selectedChapter];

我的要求是我必须转换为此代码以在按钮中显示相同而不是标签我的按钮名称是_btnGenisis。怎么做?


解决方案

对我有用的答案:

NSString *myTitle = [NSString stringWithFormat:@"%@ %@",delegate.selectedBook,delegate.selectedChapter];
[nextButton setTitle:myTitle forState:UIControlStateNormal];

2 个答案:

答案 0 :(得分:0)

让我看看我是否做对了。

通常用于更改按钮标签的代码无法以编程方式设置它?

我遇到了这个问题,结果是: 在xib文件中设置标签时,您可以看到结果并且不会出错。最近我有一个带图像的自定义按钮,无法弄清楚为什么我无法以编程方式添加标题。 事实证明我正在正确设置标题(你已经知道如何)。真正的问题是我用setImage:forState设置我的按钮图像。此图像位于按钮上方,您应检查xib文件以查看是否为按钮设置了图像。如果是这样,请删除图像并将其设置为背景图像。

要查看这是否确实存在问题,请在您尝试设置标题的代码中尝试此操作

NSLog(@"image for button %@", _btnGenisis.currentImage);

应输出(null) 如果它输出就像你有一个图像覆盖按钮的标题。 检查接口文件并检查按钮。确保没有默认图像集。您可以设置默认背景图像。 如果它是在代码中创建的全部搜索  [_btnGenisis setImage: 如果您想要标题,则不应设置图像。使用

[_btnGenesis setBackgroundImage:yourTitleHere forState:UIControlStateNormal];

答案 1 :(得分:0)

尝试将标签添加到按钮?

[_btnGenisis addSubview:_lblGenisis]