2017-08-18 81 views
11

Mam kontroler widoku z prostym UINavigationBar z rightBarButtonItem, który zawiera widok przycisku z zasobem obrazu.Jak ustawić rozmiar UIBarButton w systemie iOS 11, aby dopasować rozmiar do iOS 10

W iOS 10 ten UIBarButtonItem byłby odpowiednio zwymiarowany, nie wypełniając całej wysokości i paska nawigacji, a zatem zajmując odpowiednią szerokość, aby zachować proporcjonalność do wysokości. Podobnie do tego, jak elementy UIBarButton wyglądają w aplikacji Apple w systemie iOS.

Teraz w iOS 11, ikony te są ogromne i trwać sposób więcej miejsca niż kiedyś w iOS 10.

Czy istnieje sposób, aby przywrócić je do tego, jak wyglądały na iOS 10? Próbowałem dodać ograniczenia do customView Właściwość UIBarButtonItems bezskutecznie.

+1

Co to jest "widok przycisku z zasobem graficznym"? Pokaż swój kod! Dodawanie ograniczeń _jest prawe_; jakie ograniczenia zostały dodane? – matt

Odpowiedz

4

Twoje podejście jest prawidłowe: niestandardowe elementy przycisku paska teraz wykonują autolayout, więc musisz dodać ograniczenia, aby ustawić rozmiar. Jest to bardzo pożądana funkcja, więc nie martw się, bądź szczęśliwy!

Wiązania, które należy dodać, są podobne do ograniczeń dla wysokości komórki tabeli: należy dodać wystarczające ograniczenia, aby od razu zmierzyć niestandardowy widok elementu przycisku paska . Na przykład nadaj mu bezwzględne ograniczenia szerokości i wysokości lub nadaj jej ograniczeniom szerokość i wysokość oraz ograniczenia ograniczające je do granic samego widoku niestandardowego.

+1

To zadziałało dla mnie. Okazuje się, że muszę dodać ograniczenia szerokości i wysokości do właściwości customView. Dzięki! –

+3

@KevinStewart Mam ten sam problem. Nie jest jasne, jakie ograniczenia są mi potrzebne. Ponieważ już stworzyłem ramkę dla przycisku, domyślam się, że jest to pewien rodzaj ograniczeń przypinania. Czy możesz opublikować swój kod? – JScarry

+2

Mogę wysłać przykład tego, jak to naprawiłem, jeśli to pytanie zostało odblokowane wraz z możliwym do ponownego użycia sposobem. Nie mam pojęcia, dlaczego jest ona zamknięta jako niejasna, gdy wyraźnie wiele osób ma ten problem. –