Tworzę niestandardową klawiaturę i potrzebuję wyśrodkować obraz ikony zmiany wewnątrz przycisku zmiany. Obraz ma rozmiar 100 x 100 pikseli.Jak wyśrodkować obraz wewnątrz Uibuttonu bez rozciągania w obie strony w Swift?
Jednak ramka przycisku w pozycji pionowej to 36pt x 38pt
, a w orientacji poziomej to 68pt x 32pt
. Próbowałem użyć właściwości wstawienia obrazu przycisku, aby wyśrodkować obraz. Jednak tego nie robi.
Próbowałem siebie i ustaw krawędzie krawędzi obrazu na (25,25,25,25)
, a centra zdjęć w obu rozmiarach. Jednak ikona staje się zbyt mała, aby ją zobaczyć.
shiftButton.setImage(UIImage(named: "shift"), forState: .Normal)
shiftButton.imageEdgeInsets = UIEdgeInsetsMake(0,0,0,0)
Programuję przycisk. I potrzebuję przycisku do skalowania z zachowaniem jego współczynnika kształtu, tj. 1:1
. Jego maksymalna szerokość lub wysokość jest zawsze związana z wysokością samego guzika. Szerokość/wysokość obrazu powinna być maksymalna wysokości przycisku. I nie powinno się w żaden sposób rozciągać, aby zniekształcić ikonę. Jednak sam przycisk może się rozciągać.
Potrzebuję obrazu do skalowania zgodnie z ramką przycisku, ale zachowaj proporcje. Może też zmniejszać skalę lub skalę, ale zawsze powinien utrzymywać współczynnik proporcji 1: 1.
Wszelkie sugestie dotyczące rozwiązania tego problemu?
.center i .scaleAspectFit dla najnowszej wersji Swift (teraz przy użyciu metody lowerCameCase) –