0
用于向后兼容iOS5我无法使用故事板的自定义视图功能。iOS5内容视图控制器阻止自定义容器视图控制器上的滚动视图
我有一个视图控制器顶部有一个水平滚动菜单。滚动视图由几个按钮组成,每个按钮都以不同的方式显示不同的内容,所以我想为每个内容显示一个子视图控制器。
这张图解释了我想要做的更好的事情。
继苹果的开发者指南我试着内容视图控制器添加作为主视图控制器的孩子。只要显示子视图控制器,带有按钮菜单的滚动视图就停止滚动。我被困在这个问题上,我不知道为什么。
下面是代码:
MainViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.menuScrollView.frame = CGRectMake(0, kScrollViewMarginTop, self.view.frame.size.width, kScrollViewHeight);
self.menuScrollView.showsHorizontalScrollIndicator = NO;
self.menuScrollView.pagingEnabled = YES;
self.firstMenuButton.selected = YES;
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
self.menuScrollView.contentSize = CGSizeMake(kScrollViewContentWidth, kScrollViewHeight);
}
- (IBAction)menuButtonTapped:(id)sender{
UIButton *button = (UIButton *)sender;
switch (button.tag) {
case 0:
if (![self.firstMenuButton isSelected]) {
self.firstMenuButton.selected = YES;
[self.firstMenuButton setBackgroundImage:[UIImage imageNamed:@"firstMenuButton_selected.png"] forState:UIControlStateSelected];
[self deselectButtonsExceptButtonWithTag:button.tag];
//Shows the first content
UIViewController *contentViewController = (UITableViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"firstControllerStoryboardID"];
[self displayContentViewController:contentViewController];
}
break;
default:
break;
}
}
- (void)displayContentViewController:(UIViewController *)viewController{
[self addChildViewController:viewController];
viewController.view.frame = CGRectMake(0, self.menuScrollView.frame.origin.y + self.menuScrollView.frame.size.height + 5.0, 320.0, 200.0);
[self.view addSubview:viewController.view];
[viewController didMoveToParentViewController:self];
}
我试着用故事板来实现它在iOS6的和它的作品,所以我不知道我做错了。
任何帮助,非常感谢 干杯
的自动版式选项我没有看到任何你的代码错误的问题。内容控制器的视图看起来是否应该如此,并且可以通常与其进行交互? – rdelmar 2013-02-19 16:34:10
是的内容视图控制器是我可以正常交互的表视图控制器。我不知道添加内容视图控制器子项后为什么不能滚动菜单 – ubiAle 2013-02-19 20:54:55