创建一个出现在xcode项目中所有.NIb文件上的UIVIew

时间:2014-06-02 08:32:50

标签: ios uiview

我有一个UIVIEW我想让它出现在所有控制器上,比如我有5个控制器, 1,2,3,4,5

我在底部的控制器1上有一个UIVIEW,其中包含5个按钮,我希望该视图出现在所有控制器上,我已经搜索过但没有找到任何合理的解决方案,任何在这里请帮助我。我不要我想制作导航栏,因为我无法在导航栏上添加自定义按钮。

或者我们有什么技术可以制作自定义导航栏吗?出现在底部,我已经在顶部有一个UINavigationbar

1 个答案:

答案 0 :(得分:1)

你可以将你的UIView与5个按钮放在一个单独的笔尖中(我在我的例子中称之为BottomNavigation),然后将它添加到每个控制器视图中,如下所示:

UIView* containerView = [UIView alloc] initWithFrame:CGMakeRect(0, 440, 320, 40)]; //Adjust rect to your needs
[[NSBundle mainBundle] loadNibNamed:@"BottomNavigation" owner:containerView options:nil];
[self.view addSubView:containerView];

如果你想为containerView中的按钮设置目标动作,你可以像这样迭代它们(在你将它们作为子视图添加到你的self.view之前):

for (UIView *view in containerView.subviews)
    {
        if ([view isMemberOfClass:[UIButton class]])
        {
            //Here you should check the tag or equivalent to make sure your setting the target-action for the right UIButton
            [view addTarget:target action:@selector(MyMethod) forControlEvents:UIControlEventTouchUpInside];
        }
    }