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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

Q&A

解決済

1回答

3162閲覧

【Swift】複数のクラスで同じものを使うので画面のレイアウトをExtentionにしたい

syosinsya_swift

総合スコア62

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

0グッド

0クリップ

投稿2019/06/28 03:13

前提・実現したいこと

複数のクラスで同じものを使うので画面のレイアウトをExtentionにしたいです
今はviewDidLoadに直書きしているのですが、どのように書いたら良いのかわからず教えてください
直書きしているコードを貼り付けます

該当のソースコード

swift

1 override func viewDidLoad() { 2 super.viewDidLoad() 3 //背景viewの設定 4 let screenWidth = Int( UIScreen.main.bounds.size.width); //画面の幅 5 let screenHeight = Int(UIScreen.main.bounds.size.height); //画面の高さ 6 coverView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth, height: screenHeight)) //座標設定 7 coverView.backgroundColor = UIColor.white //画面の色 8 coverView.alpha = 0.9 //透過 9 10 //UIButtonの設定 11 backButton = UIButton() 12 backButton = UIButton(frame: CGRect(x: 0, y: 50, width: self.view.frame.width, height: self.view.frame.height / 9)) //座標設定 13 backButton.backgroundColor = .black //背景の色 14 backButton.setTitleColor(.white, for: .normal) //文字色 15 backButton.setTitle("戻る", for: .normal) //文字 16 //戻るボタンを押した時 17 backButton.addTarget(self, action: #selector(pushButton), for: .touchUpInside) 18 19 //UIImageViewの設定 20 tapImage = UIImageView() 21 //UIImageの設定 22 photo = imageList[indexPath.row+1] 23 tapImage.image = photo 24 tapImage.frame = CGRect.init(x: 0, y: 200, width: screenWidth, height: screenWidth) //座標 25 tapImage.contentMode = UIView.ContentMode.scaleAspectFit //aspectfit 26 //tapImage.contentMode = UIView.ContentMode.scaleToFill 27 //tapImage.contentMode = UIView.ContentMode.center 28 //viewに追加 29 self.view.addSubview(coverView) 30 self.view.addSubview(tapImage) 31 self.view.addSubview(backButton) 32}

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

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

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

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

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

guest

回答1

0

ベストアンサー

Extensionよりもカスタムのクラスにして使い回すのはどうでしょか?
それともこれら全てをまとめて使い回すのならxibファイルを作ってカスタムのUIViewにしてしまうのはどうでしょうか?

カスタムクラス参考
swiftでマテリアルデザイン風のButtonを作る
カスタムボタンクラスを実装する

カスタムのUIView参考
【swift】カスタムビューをxibで作成して各ViewControllerで使い回す
xibファイルでビューを作成して、ストーリーボードやコードから利用する方法(Swift3編)

投稿2019/06/28 04:34

hayabusabusash

総合スコア767

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

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

syosinsya_swift

2019/07/11 01:49

カスタムクラスを初めて知りました。 参考に作ってみます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問