From 4b4658bc0c47f25c67ca74befc3cfd8107e938d4 Mon Sep 17 00:00:00 2001 From: chanhihi Date: Sun, 27 Aug 2023 00:36:52 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20pin=20button=20=EB=94=94=EC=9E=90?= =?UTF-8?q?=EC=9D=B8=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../View/BoxFunctionViewGroup.swift | 38 +++++++++--------- Box42/FunctionButton/View/PinButtonView.swift | 2 +- .../Pin icon-1.imageset/Contents.json | 21 ++++++++++ .../Pin icon-1.imageset/Pin icon.png | Bin 0 -> 649 bytes .../uibuttons/Pin icon.imageset/Contents.json | 21 ++++++++++ .../Pin icon.imageset/Pin icon_45.png | Bin 0 -> 1105 bytes .../Assets.xcassets/uibuttons/Pin icon.png | Bin 0 -> 649 bytes 7 files changed, 62 insertions(+), 20 deletions(-) create mode 100644 Box42/Resources/Assets.xcassets/uibuttons/Pin icon-1.imageset/Contents.json create mode 100644 Box42/Resources/Assets.xcassets/uibuttons/Pin icon-1.imageset/Pin icon.png create mode 100644 Box42/Resources/Assets.xcassets/uibuttons/Pin icon.imageset/Contents.json create mode 100644 Box42/Resources/Assets.xcassets/uibuttons/Pin icon.imageset/Pin icon_45.png create mode 100644 Box42/Resources/Assets.xcassets/uibuttons/Pin icon.png diff --git a/Box42/FunctionButton/View/BoxFunctionViewGroup.swift b/Box42/FunctionButton/View/BoxFunctionViewGroup.swift index 2570826..60a96bd 100644 --- a/Box42/FunctionButton/View/BoxFunctionViewGroup.swift +++ b/Box42/FunctionButton/View/BoxFunctionViewGroup.swift @@ -10,7 +10,7 @@ import SnapKit class BoxFunctionViewGroup: NSView { lazy var preferenceButton: PreferenceButtonView = PreferenceButtonView(image: NSImage(imageLiteralResourceName: "plus"), completion: { self.preferenceAction?() }) - lazy var pinButton: PinButtonView = PinButtonView(image: NSImage(imageLiteralResourceName: "pin"), completion: { self.pinAction?() }) + lazy var pinButton: PinButtonView = PinButtonView(image: NSImage(imageLiteralResourceName: "Pin icon"), completion: { self.pinAction?() }) lazy var quitButton: QuitButtonView = QuitButtonView(image: NSImage(imageLiteralResourceName: "figure.snowboarding"), completion: { self.quitAction?() }) lazy var boxButton: BoxFunctionButtonView = BoxFunctionButtonView(image: NSImage(imageLiteralResourceName: "shippingbox"), completion: { self.boxAction?() }) lazy var divider: NSBox = TopDivider(completion: { self.dividerAction?() }) @@ -47,29 +47,29 @@ class BoxFunctionViewGroup: NSView { make.left.right.equalToSuperview() } - preferenceButton.snp.makeConstraints { make in + pinButton.snp.makeConstraints { make in make.top.equalTo(divider).offset(10) make.bottom.equalToSuperview() make.left.equalToSuperview() make.width.equalTo(pinButton) } - pinButton.snp.makeConstraints { make in - make.top.bottom.equalTo(preferenceButton) - make.left.equalTo(preferenceButton.snp.right).offset(10) - make.width.equalTo(quitButton) - } - - quitButton.snp.makeConstraints { make in - make.top.bottom.equalTo(preferenceButton) - make.left.equalTo(pinButton.snp.right).offset(10) - make.width.equalTo(boxButton) - } - - boxButton.snp.makeConstraints { make in - make.top.bottom.equalTo(preferenceButton) - make.left.equalTo(quitButton.snp.right).offset(10) - make.right.equalToSuperview() - } +// preferenceButton.snp.makeConstraints { make in +// make.top.bottom.equalTo(pinButton) +// make.left.equalTo(pinButton.snp.right).offset(10) +// make.width.equalTo(quitButton) +// } +// +// quitButton.snp.makeConstraints { make in +// make.top.bottom.equalTo(pinButton) +// make.left.equalTo(preferenceButton.snp.right).offset(10) +// make.width.equalTo(boxButton) +// } +// +// boxButton.snp.makeConstraints { make in +// make.top.bottom.equalTo(pinButton) +// make.left.equalTo(quitButton.snp.right).offset(10) +// make.right.equalToSuperview() +// } } } diff --git a/Box42/FunctionButton/View/PinButtonView.swift b/Box42/FunctionButton/View/PinButtonView.swift index f80e9d3..5604186 100644 --- a/Box42/FunctionButton/View/PinButtonView.swift +++ b/Box42/FunctionButton/View/PinButtonView.swift @@ -15,7 +15,7 @@ class PinButtonView: NSButton { super.init(frame: .zero) self.image = image - self.isBordered = false // 버튼의 테두리를 제거 + self.isBordered = false self.wantsLayer = true self.layer?.backgroundColor = NSColor.clear.cgColor self.target = self diff --git a/Box42/Resources/Assets.xcassets/uibuttons/Pin icon-1.imageset/Contents.json b/Box42/Resources/Assets.xcassets/uibuttons/Pin icon-1.imageset/Contents.json new file mode 100644 index 0000000..7146232 --- /dev/null +++ b/Box42/Resources/Assets.xcassets/uibuttons/Pin icon-1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Pin icon.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Box42/Resources/Assets.xcassets/uibuttons/Pin icon-1.imageset/Pin icon.png b/Box42/Resources/Assets.xcassets/uibuttons/Pin icon-1.imageset/Pin icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bd8d62c424f7e530b9397371d74efe6e4a4c7b GIT binary patch literal 649 zcmV;40(Sk0P)I~F!1HFOT0gY>CrC_q8G-M(6_RxvLl=$RA>g~4*Uyzlq>3519RwOXx5 zHZk0jl*{GgPNy@0fFcAmo6QJ*#2BK*VsQZ>B0+Ftu^*xJ4k1J&s8}qD>|hJm(G)^N zg1X)An9UIW=s<|na$t44WRt)x6Z5^9RJk=Q5Dhq5QR2Al}hJu3}^fV3dEN4VYf9J+i7N~0Z(MHeK6K= zZnq6iAw*<3pLSa#wViZ^8t@FOov4C}1aWr6mav7JNKv&*WjT}AIC4i6WTMUy{4!?F zyJnlD$$8d-Jf8CGBu&n<%5o0#niP}srp$ToyE7 zWY5^9lda{{8!rdAD+*kU2^ZxDFAw%dLDM5ZJ*t^9`-WXs4?R00000NkvXXu0mjf+)5pS literal 0 HcmV?d00001 diff --git a/Box42/Resources/Assets.xcassets/uibuttons/Pin icon.imageset/Contents.json b/Box42/Resources/Assets.xcassets/uibuttons/Pin icon.imageset/Contents.json new file mode 100644 index 0000000..966e93e --- /dev/null +++ b/Box42/Resources/Assets.xcassets/uibuttons/Pin icon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Pin icon_45.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Box42/Resources/Assets.xcassets/uibuttons/Pin icon.imageset/Pin icon_45.png b/Box42/Resources/Assets.xcassets/uibuttons/Pin icon.imageset/Pin icon_45.png new file mode 100644 index 0000000000000000000000000000000000000000..265a5793efc611537d09fd33b77209fecd9613a8 GIT binary patch literal 1105 zcmV-X1g`suP)IF>1A}>jrdv16fJ9)xJVC?Ot?9zwfv|OJm^zYfl|Ujq0cPvS zm`DivJ;k8NwSyi1?iWY8k7U{8XD9gU``z8|&P0l$D2k#eilQirZDuG(Y;JB=u=8eS zW zvaqmlb9HrfPZlXqPJjsSM~y!{J-ImNc57?v3t1#L0zrUs!t)ySdi@sL8d)GW0)aHn zxPq+(k*)*BE=Jy>SPRoAwPoO%799EB;o+fAhRKbSX5fI^aMpLY;d%U-Xvzi5Si_^EYRQ-=(YD+?M1me7GUv0r)@SX5FtEpU+*(B6u$c$V%I1G6Pse3@Zko&;;!!&AzKIZyO znq@;O0zcCsA&jl&10U0j7!nhQ8FM+37-IsBvA{Hi!_kq1FeXsag4eWROrTP!)TV*I zv5ntsHpPC|m_WflDH>6tfaMyk|AaAGa>dG-v)wrw^t7x1-`62QjMt<&dxcPQT(lw! zLUDP71QE@ogMzv%8H({RMDIbgtHIWUt-;d{oADMhXX+%3m9|eHlq)dpL>)9^wJ!#d z_+Geq{Ft+ezqzQ7wIXc?7`(xO6Q*{G-y9( zD$2ixHGw$f!)JIg!#>xJxpcv0RZ7PW31ZWN8WdkNAT~>`w^3u9 z%RrRXnCs#S^22oDtUr(tRxBu}N5>J{mU&JKAmXS+aFYZP7l^HZMmXjqorjogoT~@B z(l2?6uf;}mGsfy$1-<;T#JfOIydhZ}8sV77xyhjJWUVkKJ;j`u&;3ci|C|(QfjUti za?_8d1ku(rw}q?K>fG>~7#xv~kB@)Qlwd0la%kX-e90!Cq9}@@D2k#eilQirqGaVC Xmo&Gts9y(m00000NkvXXu0mjff4l~I literal 0 HcmV?d00001 diff --git a/Box42/Resources/Assets.xcassets/uibuttons/Pin icon.png b/Box42/Resources/Assets.xcassets/uibuttons/Pin icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bd8d62c424f7e530b9397371d74efe6e4a4c7b GIT binary patch literal 649 zcmV;40(Sk0P)I~F!1HFOT0gY>CrC_q8G-M(6_RxvLl=$RA>g~4*Uyzlq>3519RwOXx5 zHZk0jl*{GgPNy@0fFcAmo6QJ*#2BK*VsQZ>B0+Ftu^*xJ4k1J&s8}qD>|hJm(G)^N zg1X)An9UIW=s<|na$t44WRt)x6Z5^9RJk=Q5Dhq5QR2Al}hJu3}^fV3dEN4VYf9J+i7N~0Z(MHeK6K= zZnq6iAw*<3pLSa#wViZ^8t@FOov4C}1aWr6mav7JNKv&*WjT}AIC4i6WTMUy{4!?F zyJnlD$$8d-Jf8CGBu&n<%5o0#niP}srp$ToyE7 zWY5^9lda{{8!rdAD+*kU2^ZxDFAw%dLDM5ZJ*t^9`-WXs4?R00000NkvXXu0mjf+)5pS literal 0 HcmV?d00001 From 3babd97d86365ddb88adc358ab708c9bdd780078 Mon Sep 17 00:00:00 2001 From: chanhihi Date: Sun, 27 Aug 2023 00:48:23 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20pin=20button=20=EB=94=94=EC=9E=90?= =?UTF-8?q?=EC=9D=B8=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Model/FunctionButtonUI.swift | 21 +++++++++++++++++++ Box42/FunctionButton/View/PinButtonView.swift | 16 ++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 Box42/FunctionButton/Model/FunctionButtonUI.swift diff --git a/Box42/FunctionButton/Model/FunctionButtonUI.swift b/Box42/FunctionButton/Model/FunctionButtonUI.swift new file mode 100644 index 0000000..ebad572 --- /dev/null +++ b/Box42/FunctionButton/Model/FunctionButtonUI.swift @@ -0,0 +1,21 @@ +// +// FunctionButtonUI.swift +// Box42 +// +// Created by Chanhee Kim on 8/27/23. +// + +import AppKit + +struct FunctionButtonUI { + struct size { + static let font: CGFloat = 14 + } + + struct animation { + } + + struct color { + static let pinText = NSColor(hex: "#696969") + } +} diff --git a/Box42/FunctionButton/View/PinButtonView.swift b/Box42/FunctionButton/View/PinButtonView.swift index 5604186..ddaa1a4 100644 --- a/Box42/FunctionButton/View/PinButtonView.swift +++ b/Box42/FunctionButton/View/PinButtonView.swift @@ -10,6 +10,7 @@ import AppKit class PinButtonView: NSButton { private var callback: (() -> Void)? + private var pinBoxLabel: NSTextField! init(image: NSImage, completion: @escaping () -> Void) { super.init(frame: .zero) @@ -21,6 +22,21 @@ class PinButtonView: NSButton { self.target = self self.action = #selector(pin) self.callback = completion + + pinBoxLabel = NSTextField(labelWithString: "Pin Box") + pinBoxLabel.font = NSFont(name: "Inter", size: FunctionButtonUI.size.font) + pinBoxLabel.textColor = FunctionButtonUI.color.pinText + pinBoxLabel.backgroundColor = NSColor.clear + pinBoxLabel.isBordered = false + + self.addSubview(pinBoxLabel) // 라벨을 버튼에 추가 + + // 레이아웃을 설정 (예: AutoLayout) + pinBoxLabel.translatesAutoresizingMaskIntoConstraints = false + NSLayoutConstraint.activate([ + pinBoxLabel.centerYAnchor.constraint(equalTo: self.centerYAnchor), + pinBoxLabel.leadingAnchor.constraint(equalTo: self.trailingAnchor, constant: 8) + ]) } required init?(coder: NSCoder) {