【问题标题】:After push a button it's title disappears按下按钮后标题消失
【发布时间】:2012-04-19 20:19:11
【问题描述】:

我正在尝试创建一个类似 this one 的按钮,尽管我的代码有点不同:

UIButton* alertsButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
alertsButton.frame = CGRectMake(170, 43.5, 130, 130);
[alertsButton.titleLabel setFont:[UIFont fontWithName:@"Novecento wide" size:22]];
[alertsButton setTitle:NSLocalizedString(@"Alerts", nil) forState:UIControlStateHighlighted];
[alertsButton setTitle:NSLocalizedString(@"Alerts", nil) forState:UIControlStateNormal];
[alertsButton setTitle:NSLocalizedString(@"Alerts", nil) forState:UIControlStateSelected];
[alertsButton addTarget:self action:@selector(toggleAlerts:)forControlEvents:UIControlEventTouchUpInside];

-(void)toggleAlerts:(id)sender
{
    UIButton *button = (UIButton *)sender;

    if (button.selected) {
        button.selected = NO;
        [button setImage:[UIImage imageNamed:@"off.png"] forState:UIControlStateNormal];
        [button.titleLabel setFont:[UIFont fontWithName:@"Novecento wide" size:22]];
        NSLog(button.titleLabel.text);
    } else {
        button.selected = YES;
        [button setImage:[UIImage imageNamed:@"on.png"] forState:UIControlStateNormal];
        [button.titleLabel setFont:[UIFont fontWithName:@"Novecento wide" size:22]];
        NSLog(button.titleLabel.text);
    }
}

当我按下按钮时,背景会按预期更改,但标签会消失,尽管它的文本显示在调试控制台中。我试过this 没有结果:(

【问题讨论】:

    标签: ios uibutton


    【解决方案1】:

    那是因为您的图片超出了您的标签。

    而不是[button setImage:[UIImage imageNamed:@"on.png"] forState:UIControlStateNormal];

    [button setBackgroundImage:[UIImage imageNamed:@"on.png"] forState:UIControlStateNormal];

    【讨论】:

      【解决方案2】:

      您的开启和关闭图像的尺寸是多少?

      如果它们太大,它们会将文本推到视野之外。 正如 Nikita 所说,如果图像应该是背景,请使用 setBackgroundImage 方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多