Я хочу настраиваемую кнопку с моим собственным фоном. Дело в том, что хотя я установил прозрачный фон файла PNG, прозрачная часть все еще была включена в xcode, показывая большую границу. Любая идея решить эту проблему? В этой простой демонстрации мне нужна только черная часть. Я создал эту кнопку в xib, и у imageView тоже есть эта проблема. Спасибо.
UIbutton частично прозрачный?
- как вы установили изображение на кнопку .. Фоновое изображение или установили изображение? 06.04.2015
- В nib, используя фон атрибута инспектора: 06.04.2015
- Можете ли вы предоставить свой код здесь? 06.04.2015
- Я не создаю эту кнопку с кодом. Я просто добавил это в раскадровку. 06.04.2015
- поставить Скриншот раскадровки 06.04.2015
- i.stack.imgur.com/Oyct3.png 06.04.2015
- вы можете установить не фоновое изображение, а установить только изображение 06.04.2015
- Все еще показывает границу. :-( 06.04.2015
- Убедитесь, что ваш файл имеет формат PNG и что он имеет альфа-канал, используя информацию Finder. 06.04.2015
- Да . Это так странно. 06.04.2015
- Я не знаю почему, но у меня такое ощущение, что ваш файл в формате psd с расширением png 06.04.2015
- вы можете проверить это с новым изображением @FongTinyik, просто попробуйте добавить новое изображение вместо черного изображения для проверки 06.04.2015
Ответы:
Когда вы устанавливаете фоновое изображение кнопки, он берет выбранный вами файл PNG и делает его фоновым изображением. Если у вас есть альфа-канал (прозрачный) в файле PNG, он по-прежнему считается пикселями, увеличивающими размер вашего изображения. Это просто чистые пиксели. Вам нужно будет отредактировать файл PNG, чтобы он был только черной частью, которую вы хотите, удалив альфу.
Совет: при создании пользовательских кнопок с фоновыми изображениями нажмите кнопку, чтобы отменить выбор, затем нажмите кнопку, чтобы выбрать ее снова (просто чтобы убедиться. После того, как вы выберете файл, даже если кнопка выглядит выбранной, ваши горячие клавиши влияет на инспектор атрибутов, а не на кнопку), затем нажмите cmd + =. При этом размер кнопки будет автоматически соответствовать размеру изображения, которое вы добавили в качестве фонового изображения. Если вы этого не сделаете, вы, вероятно, увидите искаженные изображения, поскольку по умолчанию используется изменение аспекта, чтобы заполнить вид изображения кнопки.
Установите непрозрачный флаг на кнопке в false.