私は自分のプロジェクトのすべてのボタンの外観を制御しようとしています。 Extensionを作成してViewControllerファイルの先頭に置いて、そのビュー内のすべてのボタンの外観を制御します。それは素晴らしい作品です。ここにあります:ボタンの外観をグローバルに制御する
import UIKit
// EXTENSION TO CONTROL BUTTON APPEARANCE
extension UIButton {
func styleButton() {
self.layer.cornerRadius = 8
self.layer.borderWidth = 2
self.layer.borderColor = UIColor.red.cgColor
}
}
class DefaultSettingsVC: UIViewController, UITextFieldDelegate {
...
// IN VIEWDIDLOAD :
myButton1.styleButton()
myButton2.styleButton() //etc.
唯一のことは、すべてのViewControllerファイルの先頭に置く必要があることです。 (私はここで適切な用語を使用したいと思っています。)そうではなく、私はUIButtonのサブクラスである全く新しいファイルを作成すると考えました。これはファイル全体の内容です:
import UIKit
class ButtonStyle: UIButton {
func styleButton() {
self.layer.cornerRadius = 8
self.layer.borderWidth = 2
self.layer.borderColor = UIColor.red.cgColor
}
}
しかし、今何がありますか? ViewControllerファイルのClass行に追加しようとすると、「クラスから複数の継承」エラーが発生します。
class DefaultSettingsVC: UIViewController, UITextFieldDelegate, ButtonStyle {
私は完全に間違ったトラックにいますか?私はこれをまったく別のやり方で行うべきですか?どんな助けも素晴らしいだろう。私のスウィフトの専門知識は5分の2.5にすぎないので、私はまだ学んでいますし、可能であれば、いくつかの指導に感謝するでしょう。
'styleButton()'が暗黙的に適用されるべきサブクラスを作成したいということは何ですか? –
そうだと思います。しかし、それが正しい方法であるかどうかはわかりません。 – Jupiter869
あなたの質問に答える前に、何を達成しようとしているのかがまさに目的だと言えますか?私は有用なアプローチを提案することができます。 –