我想让标签栏位于顶部。
所以我在XCode中创建了一个新项目。添加了一个视图,然后在我添加的视图中(滚动条,文本和另一个视图)。见图。
我想要的是将我的标签栏放在顶部。然后在中间将是标签栏中的内容,下面是一个小版权文本。见图。
不知道如何正确地做到这一点。我试图动态创建UITabBarController,然后将其分配到顶部的视图中。 (专用于标签栏的图片顶部空白区域)。
这是我启动MainWindow的代码。
MainWindow.h
#import <UIKit/UIKit.h>
@class Intro;
@interface MainWindow : UIViewController
@property (strong, nonatomic) IBOutlet UIScrollView *mainContentFrame;
@property (strong, nonatomic) IBOutlet UIView *mainTabBarView;
@property (strong, nonatomic) UITabBarController *mainTabBar;
@property (nonatomic, strong) Intro *intro; // Trying to get this tab to show in the tab bar
@end
MainWindow.m
#import "MainWindow.h"
#import "Intro.h"
@interface MainWindow ()
@end
@implementation MainWindow
@synthesize mainContentFrame = _mainContentFrame;
@synthesize mainTabBarView = _mainTabBarView;
@synthesize mainTabBar = _mainTabBar;
@synthesize intro = _intro;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
_intro = [[Intro alloc] init];
NSArray *allViews = [[NSArray alloc] initWithObjects:_intro, nil];
[super viewDidLoad];
// Do any additional setup after loading the view.
_mainTabBar = [[UITabBarController alloc] init];
[_mainTabBar setViewControllers:allViews];
[_mainTabBarView.window addSubview:_mainTabBar.tabBarController.view];
}
- (void)viewDidUnload
{
[self setMainTabBar:nil];
[self setMainContentFrame:nil];
[self setMainContentFrame:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end
我错过了什么让这个工作?希望内容最终在滚动视图中,以便所有选项卡都可滚动。
答案 0 :(得分:0)
iOS用户界面指南说UITabBar必须位于ViewController的底部。您应该为这种View创建自己的GUI,或者使用“老式”方式。我不会试图破解UITabBar,因为您的应用程序可能会被Apple拒绝。