2016-11-25 2 views
0

Я добавил UIButton с пользовательским изображением и без текста в панель навигации в одном из моих контроллеров View. В этой навигационной панели также используется кнопка «Назад».UIButton не регистрирует штрихи

Я связал это UIButton с Connection: Action, Type: UIButton, Event: Touch Up Inside и Arguments: Sender.

Когда я нажимаю на эту кнопку, ничего не происходит, она вообще не регистрируется. Кнопка Back работает нормально.

enter image description here

Почему это происходит? Как это исправить?

+0

вы не делали фото, я подозреваю, что размер 'кнопки' вы не установили, и он может быть слишком маленьким. – aircraft

+0

Это не мало. Размер 35x35. Вы можете видеть это ясно. – user3847113

+0

Вы можете взять фотографию в своем посте? – aircraft

ответ

0

Попробуйте это:

  1. Так как вы добавляете его в панель навигации должна быть UIBarButtonItem. Таким образом, выходная розетка, к которой вы подключаетесь, должна иметь тип UIBarButtonItem, а не UIButton.

  2. Проверьте правильность подключения розетки UIBarButtonItem.

  3. Проверьте, включено ли взаимодействие пользователя UIBarButtonItem.

+0

Я не могу перетащить 'UIBarButtonItem' в' Панель навигации' в '' View Controller''. Я могу перетащить 'UIBarButtonItem' в основную панель навигации. Если «Панель навигации» имеет кнопку «Назад», я не могу перетащить «UIBarButtonItem» в «Main.storyboard». – user3847113

+0

Да, потому что UIBarButtonItem предназначен только для добавления в бары, а не где-либо еще. Но все же вы можете перетащить свою розетку в класс контроллера вида. – PGDev

0

При нажатии на эту кнопку ничего не происходит, это не регистрирует касание вообще.

99% времени, когда я вижу эту жалобу, причина в том, что вы каким-то образом разместили кнопку вне ее надзора. Кнопка за пределами ее надзора видна (по умолчанию), но не осязаема. (Иногда это происходит из-за того, что сам супервизор никогда не был задан в размере, и поэтому имеет нулевой размер, в других случаях это по какой-то другой причине.)

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

+0

Привет, я просто перетащил эту кнопку на панель навигации в Main.storyboard и установил ограничения, высоту и ширину. Я добавил изображение, чтобы вы могли лучше понять, как это выглядит. – user3847113

0

Я решил это, предварительно добавив пункт навигации в панель навигации, а затем добавив кнопку в пункт навигации.

0

Чтобы добавить кнопку на панели навигации, вы должны добавить так:

let leftButton = UIBarButtonItem(title: "abc", style: .Plain, target: self, action: #selector(ViewController.buttonClicked(_:))) 
let navigationItem = UINavigationItem() 
navigationItem.titleView = UIImageView(image: UIImage(named: "image.png")) 
navigationItem.leftBarButtonItem = leftButton 

Это для левой кнопки. Вы можете добавить правую кнопку таким же образом.

Смежные вопросы