我是IOS开发和AutoLayout的新手.我面临的问题是使用Storyboard在UI按钮内对齐图像和文本.我曾尝试使用TitleEdgeinset和ImageEdge插件来实现它,以便将Title(文本)垂直居中放置在Image下方.但问题是我有3个相似的按钮,它们是垂直堆叠的(StackView),而Text是动态设置的,因为我们有本地化的字符串(包括阿拉伯语rtl).图像和文本根据文本长度移动.是否有任何方法可以使所有按钮与图像和文本垂直对齐.此外,如果使用边缘插入,不同的屏幕分辨率当前不工作.感谢您的帮助 .提前致谢.
几天前,我解决了类似的问题,试试这个
private func adjustImageAndTitleOffsetsForButton (button: UIButton) { let spacing: CGFloat = 6.0 let imageSize = button.imageView!.frame.size button.titleEdgeInsets = UIEdgeInsetsMake(0, -imageSize.width, -(imageSize.height + spacing), 0) let titleSize = button.titleLabel!.frame.size button.imageEdgeInsets = UIEdgeInsetsMake(-(titleSize.height + spacing), 0, 0, -titleSize.width) }
为每个按钮调用此方法,如
self.adjustImageAndTitleOffsetsForButton(yourButton)