Mit Hilfe von Tim C's answer, konnte ich eine Erweiterung auf UIButton
mit Swift erstellen, die Sie mit der .setImage()
Funktion mit einem zusätzlichen frame
Parameter
extension UIButton{
func setImage(image: UIImage?, inFrame frame: CGRect?, forState state: UIControlState){
self.setImage(image, forState: state)
if let frame = frame{
self.imageEdgeInsets = UIEdgeInsets(
top: frame.minY - self.frame.minY,
left: frame.minX - self.frame.minX,
bottom: self.frame.maxY - frame.maxY,
right: self.frame.maxX - frame.maxX
)
}
}
}
Mit diesem den Bildrahmen festlegen können, wenn Sie den Rahmen ein setzen wollten UIButton
-CGRectMake(0, 0, 64, 64)
, und stellen Sie das Bild um es zu myImage
mit einem Rahmen von CGRectMake(8, 8, 48, 48)
, könnten Sie
let button: UIButton = UIButton(frame: CGRectMake(0, 0, 64, 64))
button.setImage(
myImage,
inFrame: CGRectMake(8, 8, 48, 48),
forState: UIControlState.Normal
)
Haben Sie versucht, das Bild kleiner (LOL) zu machen? – CodaFi
@CodaFi hat Recht, Sie sollten im Allgemeinen Vermögenswerte in der richtigen Größe zur Verfügung stellen, da es jede Arbeit für die CPU reduziert, weniger Speicher verbraucht und höchstwahrscheinlich besser aussieht, da Sie möglicherweise keine Skalierungsartefakte einführen ... –
Auch Sie können machen der Knopf zur Größe des Bildes (oder umgekehrt). Warum haben Sie einen großen Knopf ... mit einem kleinen Bild darin. Fügen Sie einfach das Bild hinzu, das Sie wünschen, das ist, was kundenspezifische Knöpfe sind, oder Sie können die Logik erklären, die Sie möchte für andere eine klare Idee umsetzen. –