按钮setTitle无法工作/不可见

vir*_*007 0 objective-c button

我的按钮有一个简单的问题.标题不可见.我的代码是:

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:[UIImage imageNamed:[NSString stringWithFormat:@"ikonki%d.png",i]] forState:UIControlStateNormal];
    [button setTitle:@"Normal" forState:UIControlStateNormal];
    [button setTitleColor: [UIColor whiteColor] forState: UIControlStateNormal];
    [button setEnabled:YES];

    [button addTarget:self
               action:@selector(buttonHandler:) 
     forControlEvents:UIControlEventTouchUpInside];


    button.tag = i;
    button.frame = CGRectMake(10. + 77. * i, 125., 68 , 68);


    [self.view addSubview:button];
Run Code Online (Sandbox Code Playgroud)

hol*_*lex 6

是的,当你使用该image属性时,这是正常的行为.

使用 backgroundImage 属性而不是 image 一个,如下所示:

[button setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"ikonki%d.png",i]] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

更新#1:

要重新定位按钮下按钮的标题,请使用以下方法:

[button setTitleEdgeInsets:UIEdgeInsetsMake(0.f, 0.f, -60.f, 0.f)]; // align the values for your specific button
[button setClipsToBounds:false];
Run Code Online (Sandbox Code Playgroud)

更新#2:

要更改标题的字体,请尝试以下方法:

[button.titleLabel setFont:[UIFont systemFontOfSize:34.f]]; // set the font size what you desire
Run Code Online (Sandbox Code Playgroud)