带有代码或模板的标签栏控制器?

时间:2014-11-30 12:37:44

标签: ios uitabbarcontroller

我想创建一个iOS应用程序,它将使用Tab Bar控制器。我知道你可以通过XCode中的模板设置它,或者你可以直接编码,但我不清楚为什么使用一种方法而不是另一种方法?除了我认为模板允许你使用界面构建器?如果我不想使用界面构建器(我不是),那么使用标签栏应用模板有什么意义吗?我可以使用模板但删除界面构建器位吗?或者,如果我这样做,我也可以不使用模板,只是直接编码控制器?

1 个答案:

答案 0 :(得分:1)

随着问题的发生,我们将其视为设计决策和个人偏好。

Interface Builder允许您快速设计布局,同时为您提供视觉效果 - 您知道,在设计时它会是什么样子。

您能以编程方式获得相同的结果吗?是的,当然,如果你能在设计中看到它(UI元素所在的位置,颜色,它与其他元素相关的位置等),那就确定了。

我们假设您想要一个UIButton,只需一个按钮,并且按下时会将其挂钩到名为clicked的方法。在IB中你可以在几秒钟内完成。

将其与以编程方式进行比较:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"play a beep" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0f, 80.0f, 40.0f, 40.0f);
[self.view addSubview:button];

你可以这样做 - 在IB或代码中。

对于上述情况,会更快地在IB中进行吗?是。但它并没有阻止你以编程方式进行 - 这是你的偏好。

这可以提供一般答案;因为在设计界面时涉及到许多人应该使用IB还是以编程方式进行操作。

你能删除IB位吗?是。

打个比方:

把它作为购买汽车并用雾灯拍摄它,重新涂漆等。

但是,如果你决定通过更换你购买的汽车上的每一个位来自行驾驶,那么为什么要购买汽车来做到这一点而不仅仅是从零开始构建汽车?