首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以编程方式使用UIButton setText

以编程方式使用UIButton setText
EN

Stack Overflow用户
提问于 2010-07-28 19:00:22
回答 3查看 44.1K关注 0票数 38

我有大约10个UIButtons的xib文件,并希望以编程的方式setText

EN

回答 3

Stack Overflow用户

发布于 2010-07-28 19:05:35

下次问问题时,你可能想要更具体一些。

您可以尝试为界面构建器中的每个按钮分配一个不同的标记(如果需要的话,也可以使用相同的标记),然后使用以下代码

代码语言:javascript
运行
复制
for (int i = 1 ; i<=10;i++)
{
     UIButton *myButton = (UIButton *)[myView viewWithTag:i];
     [myButton setTitle:@"my text" forState:UIControlStateNormal];
}
票数 61
EN

Stack Overflow用户

发布于 2020-05-04 17:30:20

在Swift 3+中:

代码语言:javascript
运行
复制
button.setTitle("Button Title", for: .normal)

否则:

代码语言:javascript
运行
复制
button.setTitle("Button Title", forState: UIControlState.Normal)
票数 4
EN

Stack Overflow用户

发布于 2015-09-30 16:21:00

我认为你可以从你的布局中创建一个按钮集合:

从您的xib中选择第一个按钮,并使用右键将其拖动到代码中:

然后,您应该选择"Outlet Collection“作为连接类型,并指定一个名称:

然后,在您的代码中有一个来自xib文件的按钮数组:

代码语言:javascript
运行
复制
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *buttons;

接下来,选择其他按钮并将其拖到已创建的集合上,按您希望迭代它们的顺序逐个执行:

可以在悬停在已创建的数组上的连接检查器中检查按钮的顺序:

现在设置每个按钮的文本:

代码语言:javascript
运行
复制
for (int i = 0; i<self.buttons.count; i++) {
    UIButton * button = self.buttons[i];
    [button setTitle: [NSString stringWithFormat:@"Button %d",i ] forState:UIControlStateNormal];
}

请注意,UIControlStateNormal是默认状态,如果未被覆盖,则会为所有状态显示它:

通常,如果没有为状态指定属性,则默认为使用UIControlStateNormal值。如果未设置UIControlStateNormal的值,则该属性默认为系统值。因此,您至少应该设置normal状态的值。

我希望这对你有帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3352165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档