这个问题在这里已经有了答案:AligningtextandimageonUIButtonwithimageEdgeInsetsandtitleEdgeInsets(21个答案)关闭9年前。titleEdgeInsets用于对齐按钮上的标题和图片。我在左边做了图像,在右边做了标题。但是当我点击按钮时,标题向左移动。谢谢UIImage*image=[UIImageimageNamed:imageName];[selfsetImage:imageforState:UIControlStateNormal];CGSizeimageSize=self.imageView.frame.size;C
我有一个View,其中包含几个不同大小的按钮。它们都有一个标题和一个图像。我想让图像在顶部,标题在底部,居中。这适用于以下代码:-(void)centerAlignImageAndTextForButton:(UIButton*)button{CGFloatspacing=5;CGSizeimageSize=button.imageView.frame.size;button.titleEdgeInsets=UIEdgeInsetsMake(0,-imageSize.width,-(imageSize.height+spacing),0);CGSizetitleSize=button.
我想在两行文本的左侧放置一个图标,使图像和文本开头之间有大约2-3个像素的空间。控件本身水平居中对齐(通过InterfaceBuilder设置)这个按钮会像这样:|||[Image]AddTo||Favorites|我尝试使用contentEdgeInset、imageEdgeInsets和titleEdgeInsets配置它,但无济于事。我知道负值会扩大边缘,而正值会缩小边缘以使其更靠近中心。我试过:[buttonsetTitleEdgeInsets:UIEdgeInsetsMake(0,-image.size.width,0,0)];[buttonsetImageEdgeInset
如果我只在按钮中放置一个图像并将imageEdgeInsets设置为更靠近顶部,则图像将保持居中并且一切都按预期工作:[buttonsetImage:imageforState:UIControlStateNormal];[buttonsetImageEdgeInsets:UIEdgeInsetsMake(-15.0,0.0,0.0,0.0)];如果我只在按钮中放置一个文本并将titleEdgeInsets设置为更靠近底部,则文本将保持居中并且一切都按预期工作:[buttonsetTitle:titleforState:UIControlStateNormal];[buttonsetT
如果我只在按钮中放置一个图像并将imageEdgeInsets设置为更靠近顶部,则图像将保持居中并且一切都按预期工作:[buttonsetImage:imageforState:UIControlStateNormal];[buttonsetImageEdgeInsets:UIEdgeInsetsMake(-15.0,0.0,0.0,0.0)];如果我只在按钮中放置一个文本并将titleEdgeInsets设置为更靠近底部,则文本将保持居中并且一切都按预期工作:[buttonsetTitle:titleforState:UIControlStateNormal];[buttonsetT