【问题标题】:Xcode Tabbed Application - Adding New Tab viewXcode 选项卡式应用程序 - 添加新选项卡视图
【发布时间】:2011-12-18 15:35:45
【问题描述】:

我正在使用 Xcode 4.2。我开始使用选项卡式应用程序,现在我想在我的应用程序的故事板上添加第 3 个和第 4 个选项卡式。我怎样才能添加它? 我尝试使用它,但我不能。 :( 我没有得到很好的教程。

有人知道怎么做吗?

我浏览了this link,但我需要在第一个视图中再添加 2 个选项卡式视图。

更新:

只需创建选项卡式应用程序,他们就会尝试添加一两个选项卡视图。我还在尝试。但我做不到。

【问题讨论】:

    标签: ios iphone xcode storyboard uitabbaritem


    【解决方案1】:

    如果您点击小标题栏,您会看到三个图标:

    然后您可以复制和粘贴,不仅可以在 StoryBoard 中生成新的 ViewContoller,还可以捕获您可能为该原始 ViewController 费力设置的所有自动布局。这是我所知道的捕获自动布局设置的唯一方法。

    最终,您可以通过这种方式创建一些 StoryBoard 模板,并将它们放在磁盘上。例如,我有一个“登录条目”ViewController,我以这种方式复制并粘贴到我的应用程序中。

    对于新人来说,InterfaceBuilder 打破了许多对象绘制应用程序范式,并且在其内部是不一致的。视图控制器内部的对象可以按预期点击和吸毒;按预期具有用于调整大小等的多边形句柄。 ViewControllers 不响应单击并拖动。相反,您必须在该标题上单击并拖动才能拖动它。

    【讨论】:

      【解决方案2】:

      对于视觉学习者:

      创建一个新的选项卡式应用程序项目

      这会给你一个这样的故事板:

      添加新的视图控制器

      添加标签栏项

      连接到标签视图控制器

      Control-从 Tab View Controller 拖动到新的 View Controller 以获取菜单。

      就是这样。观看以下视频了解更多详情。

      【讨论】:

      • “它不起作用”对我来说然后意识到我正在点击“命令”键而不是“控制”键,顺便说一句做得很好! youtube 视频的链接让我意识到我正在使用“命令”键,竖起大拇指。
      【解决方案3】:

      只需在您的项目中再添加两个视图控制器,然后控制从标签栏控制器拖动到视图控制器以对它们进行转场。确保在列表弹出时选择“Relationship-viewControllers”。标签会自动添加。

      你必须去菜单并点击“New File”,然后点击Objective-C class,最后确保选择UIViewController subclass。命名它,然后它将添加 .h 和 .m 文件。现在在您的故事板中,确保将每个选项卡的类更改为您的文件名。就是这样。

      【讨论】:

      • (err: human-code abort at line 1) 如果你添加一个视图控制器,又名 ThirdViewController.m,到“项目”并控制拖动到那个视图控制器(又名文件),什么也不会发生...我认为您的意思是“将更多视图控制器添加到情节提要”而不是“项目”;-)
      【解决方案4】:

      不是你问的,但是当创建一个新的应用程序时,你可以创建所有你想从标签栏控制器访问的视图控制器,然后选择它们并选择'嵌入...标签栏控制器' 来自“编辑器”菜单。

      【讨论】:

      • 澄清:快速绘制 8、9、10 等视图控制器,在整个区域内拖动鼠标,然后使用“嵌入...选项卡栏控制器”:瞧——一个新的 TBC 与许多控制器都已设置好并准备就绪,无需单独 CTRL 拖动到每个控制器。
      【解决方案5】:

      我使用的是 Xcode 4.3.3,并且可以通过以下步骤添加其他选项卡:

      1. 创建选项卡式应用程序。
      2. 确保实用程序已打开。从 Objects 中选择 View Controller 并拖放到 *.storyboard 中。
      3. 单击并按住控制键。单击选项卡控制器并将光标移动到您添加的新视图控制器。当您释放鼠标按钮和控制键时,您将看到一个弹出窗口,其中显示 4 个选项:- 关系 - 视图控制器、推送、模态和自定义。
      4. 如果您选择关系 - 视图控制器选项,Xcode 会自动添加另一个选项卡并将选项卡控制器连接到您添加的窗口。

      从现在开始,修改选项卡的文本/图片非常简单。

      【讨论】:

        【解决方案6】:

        以编程方式将第三个视图控制器添加到标准选项卡式 iOS 应用程序:

        1. 进入File -> New -> File,选择Objective-C类,类输入“ThirdViewController”,在option的子类下选择“UIViewController”。勾选“使用 XIB 作为用户界面。”

        2. 转到新的 XIB 并添加标签或您选择的其他对象。

        3. 在 AppDelegate.m 中,通过将 #import "ThirdViewController.h" 添加到文件导入来导入您的新类。

        4. 还是在 AppDelegate.m 中,在 didFinishLaunchingWithOptions 方法中为第三个视图创建一个 UIViewController 对象(按照前两个的格式),并将第三个视图控制器添加到 tabbarcontroller 下面两行:self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil]; .

        5. 保存并运行您的项目。

        didFinishLaunchingWithOptions 方法完成后应如下所示:

        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
        {
            self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
            // Override point for customization after application launch.
            UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
            UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
            UIViewController *viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
            self.tabBarController = [[UITabBarController alloc] init];
            self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil];
            self.window.rootViewController = self.tabBarController;
            [self.window makeKeyAndVisible];
            return YES;
        }
        

        【讨论】:

        • 它的旧风格。在支持故事板功能的最新 Xcode 中不鼓励使用。
        • 我不会说不鼓励这样做(绝​​对不会以任何方式弃用),但是是的,您也可以使用 Jamie 的回答通过情节提要完成所有操作。
        • 查看问题描述:“我想在我的应用程序的情节提要中添加第 3 和第 4 个选项卡”。所以根据问题你的回答不好
        • 是的,但也许有人会出于某种原因(下摆)对故事板感到沮丧,并寻找另一种解决方案。在这里或那里提出替代解决方案并没有什么坏处。
        • 无论如何,你可以随意投反对票(我相信你已经这样做了)。
        【解决方案7】:

        我所了解的,据此我给出一个答案。 应该有“标签栏控制器” 当您提取此“标签栏控制器”时,您将找到导航控制器。 只需将其复制到该标签栏控制器中即可。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-27
          • 1970-01-01
          • 2017-09-12
          • 1970-01-01
          • 2013-04-24
          • 1970-01-01
          相关资源
          最近更新 更多