2014-12-28 2 views
3

Мне удалось получить кнопку (с изображением) в свойстве inputAccessoryView для работы клавиатуры (cameraButton). Однако, когда вы пытаетесь поместить UILabel (cameraLabel) справа от камеры, Xcode выдает ошибку - «[UILabel view]: непризнанный селектор, отправленный в экземпляр 0x7fd66ca31a30«Как поместить UILabel в «inputAccessoryView» для клавиатуры?

Это мой первый попыток ввода Access_View и создания UILabel программно. Вот мой код, и я искал здесь и Google в течение нескольких часов и не могу найти тот же самый сценарий, который я пытаюсь достичь. Любая помощь очень ценится !:

Первая часть:

class SecondViewController: UIViewController, UITextViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

var cameraLabel: UILabel! 

Под методом viewDidLoad (эти вещи я кусочкам из различных интернет-ресурсов):

let keyboardButtonView = UIToolbar() 
    keyboardButtonView.sizeToFit() 


    let imageCamera = UIImage(named: "camera")?.imageWithRenderingMode(.AlwaysOriginal) 
    let cameraButton = UIBarButtonItem(image: imageCamera, style: .Plain, target: self, action: "keyboardCamera") 

    //not sure how x & y for CGRect work, especially within the inputAccessoryView. Just guessed on the width and height for now, until I can get it to work. 

    cameraLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 50, height: 40)) 
    cameraLabel.numberOfLines = 1 
    cameraLabel.adjustsFontSizeToFitWidth = true 
    cameraLabel.text = "Optionally Add Photo" 
    cameraLabel.font = UIFont.boldSystemFontOfSize(10) 
    var toolbarButtons = NSMutableArray() 
    toolbarButtons.addObject(cameraButton) 
    toolbarButtons.addObject(cameraLabel) 


    keyboardButtonView.items = toolbarButtons 

    //Alternatively, another person did this.... 
    keyboardButtonView.setItems(toolbarButtons, animated: false) 

    textView.inputAccessoryView = keyboardButtonView 
+0

ваша попытка добавить ярлык на панель инструментов, которая не работает одинаково, потому что панель инструментов обычно выполняется с помощью кнопок. взгляните на этот вопрос и переведите его на быстрый http://stackoverflow.com/questions/9529106/adding-a-custom-label-in-toolbar-doesnt-work – soulshined

+0

Спасибо. Я не лучший в интерпретации obj-c, но похоже, что мне, возможно, придется поместить UILabel customview в UIBarButtonItem. И второй ответ использовал что-то называемое выпуском. Но я не уверен. –

+0

не беспокойтесь о выпуске, который автоматически выполняется с помощью ARC. я просто отправил вас на этот вопрос для их разговора и потому, что он напоминает вашу конечную цель. – soulshined

ответ

1

Ссылку что «soulshined», добавленный выше, предоставил ответ. Мне пришлось поместить UILabel как пользовательский вид UIBarButtonItem. Это был дополнительный код, чтобы сделать это -

let cameraLabBut = UIBarButtonItem(customView: cameraLabel) 
Смежные вопросы