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);