我是
IOS开发和AutoLayout的新手.
我正面临着使用Storyboard在UI按钮内对齐图像和文本的问题.我曾尝试使用TitleEdgeinset和 ImageEdge插件来实现它,以便将Title(文本)垂直居中放置在Image下方.但问题是我有3个相似的按钮,它们是垂直堆叠的(StackView),Text是动态设置的,因为我们有本地化的字符串(包括阿拉伯语rtl).
图像和文本根据文本长度移动.是否有任何方法可以使所有按钮与图像和文本垂直对齐.此外,如果使用边缘插入,不同的屏幕分辨率当前不工作.感谢您的帮助 .提前致谢.
我正面临着使用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),-titleSize.width) }
self.adjustImageAndTitleOffsetsForButton(yourButton)