是否可以修改uitabbarcontroller高度?

时间:2013-10-28 06:36:14

标签: ios iphone

我听说如果您从底部移动标签栏,您的应用将被拒绝,因为它违反了他们的政策,但我想修改高度并添加一个admob横幅视图和一些按钮 如果我这样做会被拒绝吗?

4 个答案:

答案 0 :(得分:2)

您可以像这样更改tabBar高度:

CGRect viewFrame=self.tabBar.frame;
        //Sample parameters, add what fits your needs
        viewFrame.origin.y -=30;
   viewFrame.origin.x -=10;
   viewFrame.size.height=150;
   viewFrame.size.width=200;
        self.tabBar.frame=viewFrame;

如果你创建了一个基于标签的项目,这是针对UITabBar而不是tabBarController。

答案 1 :(得分:2)

您的应用可能不会被拒绝。仅仅因为您更改选项卡的控件对象并不意味着任何安全问题。例如,iPad上的苹果自己的应用程序商店应用程序是一个标签栏控制器,但控件对象是uisegmentcontrol对象。

您可以非常轻松地隐藏或更改标签栏控制器中的标签栏。以下代码应该很容易解释。

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    self.tabBar.hidden = YES;

    for(UIView *view in self.view.subviews) {
        if([view isKindOfClass:[UITabBar class]]) {
            [view setFrame:CGRectMake(view.frame.origin.x, self.view.frame.size.height+49, view.frame.size.width, view.frame.size.height)];
        }
        else {
            [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, self.view.frame.size.height)];
        }

    }
}

另外我建议你多考虑这个方法。 Container Controllers

然而,如果苹果拒绝,你可以很容易地改变一切。尝试新事物时不要太担心。也许苹果会得到你的想法并支付一些版税甚至可以使用:P。

答案 2 :(得分:1)

AFAIK,无法修改高度。您必须自定义tabbarcontroller才能实现此目的。

在Github中尝试使用sample project

答案 3 :(得分:1)

那么contentViewController呢?因为如果你改变高度(并移动position.y),你也应该增加viewcontroller的大小,不是吗?