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

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

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

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

Q&A

0回答

548閲覧

swift viewの配置

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

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

0グッド

0クリップ

投稿2021/01/29 07:09

編集2021/01/29 08:04

swift

1class ViewController: UIViewController { 2 3 var sbuView = UIView() 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view. 8 9 let basePoint = CGPoint(x: self.view.bounds.width / 4, y: self.view.bounds.height / 2 - self.view.bounds.width / 4) 10 11 let baseSize = CGSize(width: self.view.bounds.width / 2, height: self.view.bounds.width / 2) 12 13 let baseFrame = CGRect(origin: basePoint, size: baseSize) 14 15 let view1 = UIView(frame: baseFrame) 16 view1.backgroundColor = .red 17 self.view.addSubview(view1) 18 19 let view2Size = CGSize(width: (self.view.bounds.width / 2) / CGFloat(0.5 + sqrt(3) / 2) , height: (self.view.bounds.width / 2) / CGFloat(0.5 + sqrt(3) / 2)) 20 let view2Frame = CGRect(origin: basePoint, size: view2Size) 21 let view2 = UIView(frame: view2Frame) 22 view2.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 6) 23 view2.backgroundColor = .systemBlue 24 view1.addSubview(view2) 25 } 26 27 28} 29`` 30x、とyの位置をどのように指定したらview1の上にview2が綺麗にはみでず乗るでしょうか?今のままではおかしな位置にあります。 31![イメージ説明](46d8fe37bf45bf3dba0648195cbc6c27.png)

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

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

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

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

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

hoshi-takanori

2021/01/29 07:27

view2 を view1 の subview にするなら、view2.frame の origin は (0, 0) で良いのでは。
退会済みユーザー

退会済みユーザー

2021/01/29 07:35

let view2Size = CGSize(width: (self.view.bounds.width / 2) / CGFloat(0.5 + sqrt(3) / 2) , height: (self.view.bounds.width / 2) / CGFloat(0.5 + sqrt(3) / 2)) let view2Point = CGPoint.zero let view2Frame = CGRect(origin: view2Point, size: view2Size) let view2 = UIView(frame: view2Frame) view2.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 6) view2.backgroundColor = .systemBlue view1.addSubview(view2) このようにしましたが、はみでてしまいます。
hoshi-takanori

2021/01/29 07:56

あ、回転させてるんですね。はみ出ないようにしたいというのがどういうことで、実際はどうなってるのか、画像で説明してほしいですね。
退会済みユーザー

退会済みユーザー

2021/01/29 08:05

画像の通り二つの角がはみ出してしまっているのでこれをはみでないようにしたいです。
hoshi-takanori

2021/01/29 12:32

view2 の中身を view1 の中心に合わせればいいのでは。(それでもはみ出る可能性はあるかも…。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問