作者kinqsman (加拉哈德)
看板MacDev
标题[问题] tabbar add child view 被遮住
时间Fri Mar 25 19:56:21 2016
我在tabbar controller下面 开了三个tab
第一个tab的上面navigation我做了一个right buttom
点击後会执行下面两行程式码:
[self.view addsubview:vc2.view];
[self addChildViewController:vc];
的确有把当前的vc换成vc2
但是....却被底下的tabbar盖住了view...
google 大部分都是UITableView的cell的最後一个被挡住的解决方法...
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
我找不到一般的view被挡住的解决方法...
有没有大大知道的?
反而一开始加入的那三个ViewController并不会被挡住
都是发生在我手动加subview的时候...
不知道到底是什麽原因会造成这样...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.161.12.51
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1458906983.A.C86.html
1F:推 egg5233: 试试看vc.edgesForExtendedLayout=UIRectEdgeNone 03/25 21:35
2F:推 egg5233: vc2才对 03/25 21:37
恩....都没效 如果我用self.navigationCotroller pushViewController
都不会被tabbar盖到
只有用add subview的方法ˋ才会被盖到 所以我才觉得很奇怪上来求救~
※ 编辑: kinqsman (123.192.106.235), 03/25/2016 22:23:35
3F:→ yuanruo: view的高度减掉tabbar的高度不就好 03/26 00:03
4F:→ yuanruo: tableview那样做是因为直接addchild你没设就占据整个VC 03/26 00:07
这里不太懂 我有addchild呀
占据整个VC1可是在VC1我也没特别设 他也不在tabbar的height
是我少了那些语法吗?
5F:→ yuanruo: 或是你可以在vc2的viewdidload 里设置高度也行 03/26 00:10
CGRect frame = self.view.frame;
frame.size.height -=100;
self.view.frame = frame;
我这样结果VC1却露出来了XD 呜呜
好像不能直接设高度...
※ 编辑: kinqsman (123.192.106.235), 03/26/2016 00:22:11
※ 编辑: kinqsman (123.192.106.235), 03/26/2016 00:26:41
6F:推 tentenlee: self.view.window addsubview看看 03/26 00:26
十十李大大的做法我试过 他会连Tabbar全部都覆盖掉 这就不是我原意了
本来是希望可以把UIViewController当作android的fragment来使用...
※ 编辑: kinqsman (123.192.106.235), 03/26/2016 00:28:01
※ 编辑: kinqsman (123.192.106.235), 03/26/2016 00:28:39
7F:推 tentenlee: 如果是这样就是你size给错了吧... 你要的高度要扣掉49 03/26 00:34
8F:推 songooo: vc2.view.frame先扣掉49再addSubview 03/26 02:06
9F:推 kidd0717: 为什麽是addChildViewController: vc而不是vc2? 03/26 11:09
10F:→ kinqsman: 打错 sorry 03/26 23:55