gpt4 book ai didi

ios - setAttributedText 不适用于 UIButton?

转载 作者:行者123 更新时间:2023-12-01 18:45:49 25 4
gpt4 key购买 nike

我正在尝试在 UIButton 上设置属性字符串标题,但它似乎在这里不起作用。

[self.emailSignInButton.titleLabel setAttributedText:[[NSAttributedString alloc] initWithString:NSLocalizedString(@"LOGIN_WITH_EMAIL", nil) attributes:@{ NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle)}]];

虽然这完全可以正常工作。
[self.emailSignInButton.titleLabel setText:NSLocalizedString(@"LOGIN_WITH_EMAIL", nil)];

奇怪的是另一个按钮文本与属性文本很好。
例如。
[self.emailSignupButton.titleLabel setAttributedText:[[NSAttributedString alloc] initWithString:NSLocalizedString(@"CREATE_ACCOUNT_WITH_EMAIL", nil) attributes:@{ NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle)}]]`;

知道这里发生了什么吗?

最佳答案

您需要为按钮的状态设置文本。 UIButton 可以处于几种不同的状态。

  • 正常
  • 突出显示
  • 已禁用
  • 已选择
  • 专注
  • 申请
  • 保留

  • 您很可能需要 Normal,这将为所有案例设置默认标题。

    UIButton

    • setAttributedTitle:forState:

    Sets the styled title to use for the specified state.



    这是您的代码示例
    NSAttributedString *string = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"LOGIN_WITH_EMAIL", nil) 
    attributes:@{ NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle)}]

    [self.emailSignInButton setAttributedTitle:string forState:UIControlStateNormal];

    引用:

    UIControlState

    UIButton - setAttributedTitle:forState:

    关于ios - setAttributedText 不适用于 UIButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186947/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com