1

我有自定义 UIButton,它是视图高度/宽度的 1/4。我想要做的是在按钮标题上方设置一个图像,它们都位于所述按钮的中心。

代码:

CGRect imageFrame= CGRectMake(0, 0, 80, 80);
UIEdgeInsets imageInset = UIEdgeInsetsMake(0, 0, 30, 0);
UIEdgeInsets titleInset = UIEdgeInsetsMake(80, 0, 0, 0);

btnSideSettings = [UIButton buttonWithType:UIButtonTypeCustom];
btnSideSettings.frame = settingsFrame;
[btnSideSettings setImage:[UIImage imageNamed:@"btnSideSettings"] forState:UIControlStateNormal];
btnSideSettings.imageView.frame = imageFrame;
btnSideSettings.imageEdgeInsets = imageInset;
btnSideSettings.titleEdgeInsets = titleInset;
btnSideSettings.titleLabel.textAlignment = NSTextAlignmentCenter;
[btnSideSettings setTitle:@"Settings" forState:UIControlStateNormal];

结果: 在此处输入图像描述

我尝试了上述代码的一些变体,主要是编辑插图。如果我注释掉添加图片,标题也会居中。感谢任何帮助。

4

1 回答 1

1

您可以添加自己的子视图(图像视图和标签),而不是尝试操作按钮上的图像和文本,然后您可以完全明确地控制元素的大小和位置。

于 2013-07-28T23:41:30.313 回答