如何通过button显示图像? -迅速

我以编程方式创build一个UIButton ,并将标题,图像设置为以下代码。 问题是每当我点击button的图像被突出显示,但button的标题不。 所以,我想创build两者或没有animation效果。 以及我应该给约束或什么让图像正确的文本“分类”

在这里输入图像说明

我钉了它。 我将buttontypes更改为“系统”button,并将颜色更改为蓝色。 不过,我设法将蓝色的颜色设置为白色,将苹果默认使用的颜色设置为白色,以将颜色设置为其控件(我猜)。 所以系统button颜色为蓝色是由于tintcolor被分配为蓝色的原因

 let btnSort = UIButton.buttonWithType(UIButtonType.System) as UIButton btnSort.frame = CGRectMake(2, 74, 140, 26) btnSort.tintColor = UIColor.whiteColor() btnSort.setImage(UIImage(named:"drop_arrow"), forState: UIControlState.Normal) btnSort.imageEdgeInsets = UIEdgeInsets(top: 6,left: 100,bottom: 6,right: 14) btnSort.titleEdgeInsets = UIEdgeInsets(top: 0,left: -30,bottom: 0,right: 34) btnSort.setTitle("SORT", forState: UIControlState.Normal) btnSort.layer.borderWidth = 1.0 btnSort.layer.borderColor = UIColor.whiteColor().CGColor btnSort.addTarget(self, action: Selector("showSortTbl"), forControlEvents: UIControlEvents.TouchUpInside) self.view.addSubview(btnSort) 

这里是示例代码,你可以试试。 我已经编程创build了一个button,并在EdgeInsets属性的帮助下分配图像。

  let btnDemo : UIButton = UIButton() btnDemo.frame = CGRect(x: 5, y: 75, width: 65, height: 18) btnDemo.setImage(UIImage(named:"drop_arrow_sample"), forState: UIControlState.Normal) btnDemo.imageEdgeInsets = UIEdgeInsets(top: 6,left: 100,bottom: 6,right: 14) btnDemo.titleEdgeInsets = UIEdgeInsets(top: 0,left: -30,bottom: 0,right: 34) btnDemo.titleLabel?.font = UIFont(name: "Helvetica Neue", size: 13) btnDemo.layer.cornerRadius = 2.0 btnDemo.titleLabel?.textColor = UIColor.whiteColor() btnDemo.backgroundColor = UIColor(red: 189/255, green: 176/255, blue: 0/255, alpha: 1) btnDemo.tag = index btnDemo.addTarget(self, action: "SortTable:", forControlEvents: UIControlEvents.TouchUpInside)