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

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

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

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

Q&A

解決済

1回答

2320閲覧

xibに配置したUIViewとUIViewの間に別のxibを差し込みたい

kenixi

総合スコア91

Swift

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

0グッド

0クリップ

投稿2016/09/07 10:59

最近iOS開発を始めた者です!

現在、既存アプリの改修案件に携わっており、以下のことをやりたいと考えております。
手法をご存知の方がいらっしゃいましたら、ご教示ください。

やりたいこと

xibにUIViewを2つ配置しており、そのUIViewの間に別のxibを読み込ませたい
以下のイメージです。
※データ取得等の為、各xibに紐づくSwiftファイルあり

イメージ

わからないこと

  • そもそもこういうやり方が可能なのか
  • 可能な場合、どういう風に実装すれば良いのか(GUIでやるのか、コードを書くのか)

どういう風に攻めて行ったらいいかもよくわかっておりませんが、
何卒よろしくお願いします!

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

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

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

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

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

guest

回答1

0

ベストアンサー

#1

hoge.xibの上UIViewと下UIViewの間にダミーのUIViewを入れておいて、そこにfuga.xibを表示させるとか。

#2

もっと簡単に、hoge.xibの表示優先の低い方のUIViewにfuga.xibをaddSubviewするとか。

【追記】試してみたのでコードを書いておきます。

swift

1override func viewDidLoad() { 2 super.viewDidLoad() 3 4 //確認のため背景を青にしておく 5 self.view.backgroundColor = UIColor.blueColor() 6 7 //hoge/fuga生成 8 // hoge: orangeとgreenが乗っているView、背景は透明 9 // fuga: blackだけが乗っているView、背景は透明 10 let hoge = UINib.init(nibName: "hoge", bundle: nil).instantiateWithOwner(nil, options: nil).first as! UIView 11 let fuga = UINib.init(nibName: "fuga", bundle: nil).instantiateWithOwner(nil, options: nil).first as! UIView 12 13 //hogeをadd. xib側で端末サイズにしているのでそのままで画面一杯になります. 14 self.view.addSubview(hoge) 15 16 //hogeの優先低い方のView = 下側のView = green 17 let green = hoge.subviews[0] 18 19 //fugaの表示位置. 今回は優先を確認できる位置に. (green基準になることに注意) 20 fuga.center = CGPointMake(CGRectGetMidX(green.bounds), 0) 21 22 //fugaをgreenにadd 23 green.addSubview(fuga) 24}

hogefuga

投稿2016/09/08 02:06

編集2016/09/09 00:54
fuzzball

総合スコア16731

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

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

kenixi

2016/09/08 10:53

回答ありがとうございます! 上記も考えたのですが、データをバインドしたりする関係上、swiftファイルとひも付けたりしているとエラーに振り回されてしまいまして。。(個人プロジェクトではないので、ちょっとコードは晒せなく申し訳ないのですが。。
fuzzball

2016/09/08 12:47

チャレンジ#2です。
fuzzball

2016/09/09 00:57 編集

#2を実際に試してみました。
kenixi

2016/09/09 06:54

コードの提示ありがとうございます! (まだちょっとうまくいってはいないのですが)別途サンプルを作成し、上記の挙動を確認できました!あとはがんばって組み込みます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問