Как я могу добавить значок в стандартный Uibutton? [закрыто

StackOverflow https://stackoverflow.com/questions/4722669

  •  12-10-2019
  •  | 
  •  

Вопрос

Можно ли добавить стандартный значок в стандарт UIButton?

Если он не поддерживается полунамолевым, что было бы самым простым способом достижения этого?

Пример изображения:

An iPhone UI button

Это было полезно?

Решение

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

Я использовал эту библиотеку много раз и всегда был доволен результатами. Гибкий, простой в использовании. Полностью рекомендую это.

Другие советы

Вы можете проверить несколько вариантов здесь: Значки Cocoacontrols

Класс, который использует Apple _UIBadgeView (https://github.com/nst/ios-runtime-derers/blob/master/frameworks/uikit.framework/_uibadgeview.h), но, конечно, этот класс является частным (обратите внимание на подчеркивание) и не задокументирован.

Вот еще один класс, который реализует этот взгляд с тем же внешним видом, как Apple, а также позволяет вам настроить: https://github.com/javisoto/jsbadgeview. Анкет Самое замечательное в этом заключается в том, что он позволяет вам автоматически позиционировать значок относительно другого представления в одном из его угла.

У нас есть представление о значке в Нимбусе, который очень прост в использовании и хорошо документирован:

Нимбусбадж

Я не знаю, как это делается из коробки, и я честно сомневаюсь, что Apple встроила это в SDK.

В любом случае, вы можете создать пользовательский вид с кнопкой на кнопке, добавить фон значка в качестве Uiimageview и поместить на него метку, чтобы удерживать количество значков.

Это быстрое решение, может быть лучше создать пользовательский подкласс UIButton И добавьте свой значок в качестве подвиги

Я бы пошел так же, как @Björn Kaiser: используйте кнопку, как вам это нравится, а затем добавил бы пользовательский вид с этим значком в качестве подвеса - я сделал это, и он работает хорошо.

Что касается вида, вы можете нарисовать его так, как хотите. Вы можете нарисовать его вручную или использовать кореанимацию и позволить ей сделать основную часть, т.е. theBadge.layer.cornerRadius = ...; Чтобы придать ему круглую форму, нарисуйте текст/номер в drawRect: или добавьте его в качестве ярлыка и т. Д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top