5879


Objective-Cでのサイトがあったのですが、Swift版はなかったので質問してみました。  
View上にUITabBarControllerを設置し、画面下(UITabBarController下)に320×50の広告を設置する方法について教えてください。

【補足】  
Objective-Cでの方法はこちらのサイト(<http://obc-
fight.blogspot.jp/2012/07/uitabbarcontroller-under-
advertisement.html>)で確認したのですが、このサイトでいう「ViewController.m」における「TabBarControllerの初期化」と「表示」部分がよく理解できませんでした。

【再補足】  
回答者様が教えてくださったコードを実装したところ、エラーは出なかったものの、  
UITabBarControllerがコード通りに、50上に、表示されていませんでした。  
(そのかわりTabBarと同じサイズの空白が出来ていました。)  
どうすればいいでしょうか？

[code]

    import UIKit
    
    class HomeView: UIViewController{
    
        override func viewDidLoad() {
            super.viewDidLoad()
            let tabBarController = UITabBarController()
            tabBarController.view.frame = CGRectMake(0, -50, self.view.frame.size.width, self.view.frame.size.height)
            self.view.addSubview(tabBarController.view)   
        }
    }
    
[/code]


CC BY-SA 3.0
2015-02-03T10:16:17.397
5858
2015-02-04T00:28:08.427
2015-02-03T14:35:42.103
5832
5832
question
swift
UITabBarControllerの下に320×50の広告枠を設置する方法について(Swift)


> //TabBarControllerの初期化  
>  UITabBarController *tabBarController = [[UITabBarController alloc] init];

は`let tabBarController = UITabBarController()`、

> //表示  
>  [self.window addSubview:tabBarController.view];

は`self.window?.addSubvew(tabBarController.view)`にあたるかと思います。


CC BY-SA 3.0
2015-02-03T13:04:35.730
5879
2015-02-03T13:04:35.730
5750
5858
answer


ま、私が、あなたと同じ立場なら、そんな古ぼけた時代物のサイトなんか参照せずに

1 Single View Applicationで、project生成  
2 話を簡単にするために、storyboardのUse Size Classのcheckをはずす  
3 AdBannerViewをviewのした端にはりつける。  
4 AdBannerViewにBottom Space to SuperViewを、ゼロにする。  
5 AdBannerViewにHorizontal Center in ContainerViewをつける  
6 ContainerViewを、AdBannerViewの上にはりつける。  
7 ContainerViewには、自動で、ViewController（View)がついてくるが、これを選択して、削除する。  
8
Storyboardの上に、TabBarControllerの部品を右下から引っ張り出して、貼り付ける。この時点で、storyboardの上には、ViewControllerと、TabBarControllerおよびそれについている２つのViewControllerが置かれている。  
9 画面が小さくてみにくいだろうから、Zoomして、最初のViewControllerとTabBarControllerを見える状態にする。  
10
その状態で、最初のViewControllerの真ん中をマウスカーソルで、さして、CTRLキーを押しながら、TabBarControllerの真ん中まで、マウス右ボタンを押したままでマウスカーソルを引きずり、マウス右ボタンを離す。  
11 そうすると、segueのタイプは、何にするか？と聞かれるが、embedを選ぶ。  
12 一番最初のViewController内部のContainerViewとAdBannerViewのVertical Spaceを、ゼロにする。

もちろん、これだけで、走らせたら、こけるが、それは、AdBannerViewに対して、glue codeを書いてやらないといけないだけの話。


CC BY-SA 3.0
2015-02-04T00:28:08.427
5900
2015-02-04T00:28:08.427
75
5858
answer