UIButtonTypeCustomtypes的UIButton不会显示标题(iPhone)

我一定忽略了一些完全明显的东西? 但我的button显示正确的图像和大小,但我根本无法得到标题显示。

我做了一个非常简单的testing,标题甚至不显示,当我这样做:

CGRect frameBtn = CGRectMake(160.0f, 150.0f, 144.0f, 42.0f); UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setImage:[UIImage imageNamed:@"left_halfscreen_button.png"] forState:UIControlStateNormal]; [button setTitle:@"Hello" forState:UIControlStateNormal]; [button setFrame:frameBtn]; NSLog(@"Title:%@", [button currentTitle]); //prints "Title:Hello [self addSubview:button]; 

我有一个工厂类,为我生成自定义button,我想我弄乱了一些细节,所以我把上面的代码直接移动到我的UIView ,标题仍然是空白的。

这是一个错误还是我只是在我眼前丢失了一些东西。

谢谢你的额外眼睛:)

图像覆盖标题,您需要使图像成为背景图像以显示标题。

 [buttonsetBackgroundImage:[UIImage imageNamed:@“left_halfscreen_button.png”] 
         forState:UIControlStateNormal];

我只是喜欢一些相似的问题…只需设置标题颜色,我猜目前是白色的;)

  [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 

我发现了问题!

这不是图像覆盖标题。 它正在被图像推下框架。

尝试使用这个:

[btn setTitleEdgeInsets:UIEdgeInsetsMake(0.0, -img.size.width, 0.0, 0.0 )];

希望能帮助到你!

当您使用UIButton ,button使用一些内置大小的框架。

你应该设置框架:

 button.frame = CGRectMake(0, 0, width, height); 

甚至更好,更舒适:

 [button sizeToFit]; 

我有一个类似的问题,标题没有显示。 我忘了设置框架属性:

 //set the position of the button button.frame = CGRectMake(100, 170, 100, 30);