如何更改JSQMessagesController"发送"从String到UIImageView的按钮?
现在看起来像:
我可以更改此内容吗?#34;发送"想象?
我试过了:
let sendButton = JSQMessagesInputToolbar()
sendButton.contentView?.rightBarButtonItem?.imageView?.image = UIImage(named: "send.png")
但我觉得它错了,因为它不起作用= /
答案 0 :(得分:10)
创建一个UIButton并将其设置为输入工具栏的右侧栏按钮项。
let rightButton = UIButton(frame: CGRectZero)
let sendImage = UIImage(named: "send_button.png")
rightButton.setImage(sendImage, forState: UIControlState.Normal)
self.inputToolbar.contentView.rightBarButtonItemWidth = CGFloat(34.0)
self.inputToolbar.contentView.rightBarButtonItem = rightButton
希望有所帮助!
答案 1 :(得分:3)
无需创建其他按钮,您可以重复使用现有按钮:
override func viewDidLoad() {
super.viewDidLoad()
let imageWidth: CGFloat = 21
let image = UIImage(named: "image-name")
inputToolbar.contentView.rightBarButtonItemWidth = imageWidth
inputToolbar.contentView.rightBarButtonItem.setImage(image, for: .normal)
}
但是如果你想更多地控制按钮,你应该创建一个自定义按钮:
override func viewDidLoad() {
super.viewDidLoad()
let buttonWidth = CGFloat(40)
let buttonHeight = inputToolbar.contentView.leftBarButtonContainerView.frame.size.height
let customButton = UIButton(frame: CGRect(x: 0, y: 0, width: buttonWidth, height: buttonHeight))
customButton.backgroundColor = .red
customButton.setImage(UIImage(named: "send-message"), for: .normal)
customButton.imageView?.contentMode = .scaleAspectFit
inputToolbar.contentView.rightBarButtonItemWidth = buttonWidth
inputToolbar.contentView.rightBarButtonItem = customButton
}
答案 2 :(得分:1)
可以使用rightBarButtonItem直接设置。您的代码无效,因为您没有设置按钮的状态。
character(n)