如何使用Objective-C以编程方式创建选项卡视图

Kir*_*ran 5 objective-c uitabview ios

对于iPhone应用程序,如何以编程方式创建选项卡视图?任何人都可以通过提供一些很好的教程链接或示例来帮助我吗?

Joh*_*ker 10

通过UITabBarController创建UITabBar非常简单.以下示例应在AppDelegate类中起作用.

App代理接口

首先,在界面中,我们将定义我们的UITabBarController.

UITabBarController *tabBarController;
Run Code Online (Sandbox Code Playgroud)

应用代表实施

然后,在实现文件的application:didFinishLaunchingWithOptions:方法中,我们将初始化我们的标签栏控制器.

// Initialise our tab bar controller
UITabBarController *tabBarController = [[UITabBarController alloc] init];
Run Code Online (Sandbox Code Playgroud)

接下来,您需要创建要添加到选项卡栏控制器的视图控制器.我们需要在这些中添加一些信息来设置标签的标题/图标,但最后我会再回过头来看看.

// Create your various view controllers
UIViewController *testVC = [[TestViewController alloc] init];
UIViewController *otherVC = [[OtherViewController alloc] init];
UIViewController *configVC = [[ConfigViewController alloc] init];
Run Code Online (Sandbox Code Playgroud)

由于setViewControllers:animated:方法需要一组视图控制器,我们将视图控制器添加到一个数组中,然后释放它们.(因为NSarray将保留它们.)

// Put them in an array
NSArray *viewControllers = [NSArray arrayWithObjects:testVC, otherVC, configVC, nil];
[testVC release];
[otherVC release];
[configVC release];
Run Code Online (Sandbox Code Playgroud)

然后简单地为UITabBarController提供视图控制器数组并将其添加到我们的窗口.

// Attach them to the tab bar controller
[tabBarController setViewControllers:viewControllers animated:NO];

// Put the tabBarController's view on the window.
[window addSubview:[tabBarController view]];    
Run Code Online (Sandbox Code Playgroud)

最后,确保[tabBarController release];在您的dealloc方法中调用.

查看控制器实现

在每个视图控制器中,您还需要在init方法中为选项卡设置标题和图标,如下所示:

// Create our tab bar item
UITabBarItem *tabBarItem = [self tabBarItem];
UIImage *tabBarImage = [UIImage imageNamed:@"YOUR_IMAGE_NAME.png"];
[tabBarItem setImage:tabBarImage];
[tabBarItem setTitle:@"YOUR TITLE"];
Run Code Online (Sandbox Code Playgroud)