2015-07-14 3 views
0

Итак, я работаю над проектом, создающим приложение сторонней клавиатуры, которое позволяет пользователю нажимать одну кнопку и вводит строку текста. Очень просто. Все работает нормально, весь мой код работает и т. Д. кроме того, что я не могу понять, как моя кнопка будет представлена ​​изображением, а не текстом.Как использовать пользовательское изображение как UIButton in Swift

Как вы можете видеть ниже, все выглядит хорошо в интерфейсе строителя и в моем коде:

enter image description here

Главный код в KeyboardViewController.swift:

import UIKit 

class KeyboardViewController: UIInputViewController { 

var keyboardView: UIView! 

@IBOutlet var nextKeyboardButton: UIButton! 

override func updateViewConstraints() { 
    super.updateViewConstraints() 
    // Add custom view sizing constraints here 
} 

override func viewDidLoad() { 

    super.viewDidLoad() 


    self.loadInterface() 

} 

func loadInterface() { 

    var keyboardNib = UINib(nibName: "KeyboardView", bundle: nil) 

    self.keyboardView = keyboardNib.instantiateWithOwner(self, options: nil)[0] as! UIView 

    view.addSubview(self.keyboardView) 

    view.backgroundColor = self.keyboardView.backgroundColor 

    self.nextKeyboardButton.addTarget(self, action: "advanceToNextInputMode", forControlEvents: .TouchUpInside) 

} 

Но когда я бегу мое приложение в симуляторе, все, что я вижу, это текстовая кнопка, а не изображение, которое я предоставил.

enter image description here

Что происходит, и что я могу сделать, чтобы исправить это, казалось бы, простую задачу? Я в тупике.

+0

Вы, скорее всего, получите ответ, вставив свой код в свой ответ вместо скриншота. –

+0

Делает смысл ... изменен –

+0

Возможный дубликат [UIButton: установить изображение для выбранного состояния] (http://stackoverflow.com/questions/5592646/uibutton-set-image-for-selected-highlighted-state) –

ответ

1

Я не знаю, как отметить этот вопрос как дубликат, но ответ на ваш вопрос здесь. В зависимости от того, что вы хотите, чтобы кнопка вела себя так, как вам придется загрязнять руки и назначать изображение вручную с помощью кода.

UIButton: set image for selected-highlighted state

Create a button programmatically and set a background image

+0

Мне нужно будет назначить изображение вручную, даже если я хочу, чтобы изображение работало, как кнопка по умолчанию? Потому что я буквально просто хочу отображать изображение, а не текст ... –

+0

И если бы я программно установил фоновое изображение, то как бы я полностью заменил все, что я сделал в построителе интерфейса? –

+0

Ваш добавленный код должен переопределить то, что происходит в построителе интерфейса. В противном случае, если вы хотите изменить текст метки, текст по умолчанию переопределит то, что делает ваш код. Это займет около 5 минут, чтобы опробовать один из ответов, приведенных в этих сообщениях. –

1

Когда вы пытаетесь отображение изображения на кнопках

1.Try удаляемого названия и оставьте пустой, как this

2. Убедитесь, что изображение существует и все виды связаны друг с другом.

Или попробуйте этот учебник, надеюсь, что это поможет ....

Tutorial Custom Keyboard

0

попытаться использовать это,

button.setImage(UIImage(named: "selected"), forState: UIControlState.Selected.union(UIControlState.Highlighted)) 
+0

http://stackoverflow.com/help/how-to-answer: «Брексия приемлема, но более полные объяснения лучше». Таким образом, база знаний, которая SO, действительно поможет будущим читателям. –

0

попробуйте использовать этот

self.Button.setBackgroundImage(image: (insert image name here), forState: UIControlState.Normal) 
Смежные вопросы