質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1013閲覧

【Swift】UIButtonの枠線の色を変更したい

yuna_

総合スコア23

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/07/17 11:25

前提・実現したいこと

Swiftで簡単なタイマーアプリを作成しています。
UIButtonの枠線の色を変更したいのですが、黒のまま変更ができません。

この記事を参考にしました。

該当のソースコード

ViewController.swift

1@IBOutlet weak var resetButtonLabel: UIButton!

UIColor.swift

1import UIKit 2 3extension CALayer { 4 func setBorderUIColor(_ color: UIColor) { 5 self.borderColor = color.cgColor 6 } 7}

試したこと

Identify Inspectorにて

KeyPath layer.borderUIColor
Type Color
Value Custom

KeyPath layer.borderWidth
Type Number
Value 1

と設定してあります。

UIColor.swiftが動いていないようなのですが、
ViewController.swiftにUIColor.swiftを読み込ませたりが必要なのでしょうか。

初歩的な質問で申し訳ありませんが、ご教示いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

もっと良い方法があるのかもしれませんが、extensionの中身を以下の様に書き換えたら色が反映されるようになりましたので、共有させていただきます。

※以下リンク先などの処理を参考に書き換えてみました。
UIView's border color in Interface builder doesn't work?

Swift

1import UIKit 2 3extension CALayer { 4 @IBInspectable var borderUIColor: UIColor { 5 set { 6 self.borderColor = newValue.cgColor 7 } 8 9 get { 10 return UIColor(cgColor: self.borderColor!) 11 } 12 } 13} 14

↓UIView、UIButtonの枠線を変更したサンプル画像
Simulator


補足
コードから直接色指定する場合のサンプル。
ご存知かもしれませんが、念の為共有いたします。

Swift

1resetButtonLabel.layer.borderColor = UIColor.red.cgColor

投稿2020/07/17 14:33

tsuki01

総合スコア1751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuna_

2020/07/17 17:29

tsuki01さん、何度も助けていただき、ありがとうございます。 書き方など、初見でしたので、大変勉強になりました。 無事、枠線の色変更できました! 本当にありがとうございます!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問