Czy można dodać standardową plakietkę do standardu UIButton
?Jak mogę dodać plakietkę do standardowego Uibutton?
Jeśli nie jest to obsługiwane częściowo, jak najprościej to osiągnąć?
Przykład obrazu:
Czy można dodać standardową plakietkę do standardu UIButton
?Jak mogę dodać plakietkę do standardowego Uibutton?
Jeśli nie jest to obsługiwane częściowo, jak najprościej to osiągnąć?
Przykład obrazu:
Tutaj to bardzo miły klasa przez Sascha Paulus o nazwie CustomBadge, która tworzy i renderuje niestandardowe identyfikatory za pomocą Core Graphics. Są to tylko podklasy UIView, więc układasz je za pomocą ich ramek, tak jak każdej innej podklasy UIView.
Użyłem tej biblioteki wiele razy i zawsze byłem zadowolony z wyników. Elastyczny, łatwy w użyciu. Całkowicie go polecam.
Istnieje również kakao pod Custom Badge - http://cocoadocs.org/docsets/CustomBadge/2.0/Classes/CustomBadge.html –
nie wiem jak to zrobić po wyjęciu z pudełka i szczerze wątpię, że Apple zbudowany, że do SDK.
W każdym razie możesz utworzyć niestandardowy widok za pomocą przycisku, dodać tło plakietki jako UIImageView i umieścić na nim etykietę, w której będzie trzymana liczba znaczków.
To szybkie rozwiązanie, może lepiej byłoby utworzyć niestandardową podklasę UIButton
i dodaj swoją odznakę rzeczy jako podrzędny
Do * not * subclass UIButton - to nie działa dobrze, tzn.masz tylko klasę wygody dla budownictwa. Ponadto nie ma potrzeby widoku "pojemnika" dla przycisku. – Eiko
pójdę podobny sposób jak @ Björn Kaiser: Użyj przycisku jak chcesz to, a następnie dodaj niestandardowy widok z tą odznaką jako podzbiorem - zrobiłem to i działa dobrze.
Jeśli chodzi o widok, możesz narysować go, jak chcesz. Można wyciągnąć go ręcznie lub skorzystać CoreAnimation i niech to zrobić główną część, czyli theBadge.layer.cornerRadius = ...;
aby nadać mu okrągły kształt, narysuj tekst/numer w drawRect:
lub dodać go jako etykieta itp
Mamy widok odznakę w Nimbus, który jest bardzo proste w obsłudze i dobrze udokumentowane:
Możesz sprawdzić kilka opcji tutaj: CocoaControls Badges
Klasa używa Apple jest _UIBadgeView
(https://github.com/nst/iOS-Runtime-Headers/blob/master/Frameworks/UIKit.framework/_UIBadgeView.h), ale oczywiście ta klasa jest prywatna (uwaga na podkreślenie) i nie jest udokumentowana.
Oto kolejna klasa, która implementuje ten widok o tym samym wyglądzie co Apple, a jednocześnie umożliwia jego dostosowanie: https://github.com/JaviSoto/JSBadgeView. Wspaniałą cechą tego jest to, że pozwala on automatycznie umieścić znaczek względem innego widoku w jednym z jego rogów.
Dla rekordu .. Listopad 2013, najnowszy ostatnio obsługiwany pakiet wydaje się być: https://github.com/jessesquires/JSCustomBadge działa idealnie bez żadnych problemów. – Fattie
Po opublikowaniu tego komentarza zdałem sobie sprawę, że JSCustomBadge wydaje się działać w Xcode5, a nie Xcode4. "CustomBadge" działa doskonale w Xcode4 https://github.com/ckteebe/CustomBadge TBC oba wydają się działać doskonale w Xcode5. Mam nadzieję, że to komuś pomaga. – Fattie
Właśnie wydałem CocoaPod napisany w Swift na iOS 8, który zapewnia tę funkcjonalność po wyjęciu z pudełka. Nadal jest dość wcześnie, ale chciałbym usłyszeć pewne opinie. Sprawdź to na [https://github.com/johncosch/TIPBadgeManager](https://github.com/johncosch/TIPBadgeManager](https://github.com/johncosch/TIPBadgeManager) –