2017-07-28 71 views
3

我想在按钮右侧和左侧文本上放置图像。但是我希望文本从按钮的左边距为20点,图像从右边距为20点。我会怎么做?我想在UIButton中使用本机图像和标签,我不想在按钮上放置任何东西。这里有一个例子: enter image description hereUIButton左侧文本和右侧快捷图像

回答

-1

下面是我自己的代码中的一个:

waiterTextField = UITextField(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width*0.7, height: 40)) 
    waiterTextField.center = CGPoint(x: self.view.center.x, y: logoNameView.frame.maxY + 100) 
    waiterTextField.layer.cornerRadius = 5 
    waiterTextField.layer.borderColor = UIColor.white.cgColor 
    waiterTextField.layer.borderWidth = 1 
    waiterTextField.delegate = self 
    waiterTextField.textAlignment = NSTextAlignment.center 
    waiterTextField.backgroundColor = UIColor.clear 
    waiterTextField.textColor = UIColor(red: 1, green: 1, blue: 1, alpha: 0.7) 
    waiterTextField.font = UIFont(name: "HelveticaNeue-Light", size: 25.0)! 
    waiterTextField.text = "Waiter" 
    waiterTextField.tag = 1 
    waiterTextField.tintColor = UIColor.clear 
    AddSideImageToView(view:waiterTextField, size:0.6, image:#imageLiteral(resourceName: "dropdownArrow")) 
    mainView.addSubview(waiterTextField) 

这是它的结果:

enter image description here

然而,对于文本在左边只改变这条线

waiterTextField.textAlignment = NSTextAlignment.center 

到这一行

waiterTextField.textAlignment = NSTextAlignment.left 

希望这会有所帮助!

1

使用

button.semanticContentAttribute = .forceRightToLeft 

对于其他的方法可以参考thisthis

4

非常简单和容易的解决方案:使用包含UIButton和UIImage的UIView,如此快照所示。

  • 在UIView中设置图像右侧并禁用用户交互,所以用户操作/点击会传递到按钮。
  • 在UIView中添加与UIView大小相同的按钮,使用透明背景色和覆盖图像。
  • 设置按钮的内容偏移量,如此快照中所示。

enter image description here

这将使好办按钮动作,性质,并根据您的要求定制图像位置&大小。尝试这个。

0

您可以通过编程或内部属性检查器更新图像和标题插图。以下是屏幕截图: - enter image description here