所有
我正在制作带有两个视图的应用TabBar(ScrollView和TableView)。
当应用程序启动时,会出现TabBar按钮,并且可以更改两个视图。
我编写了TableView中的按钮来更改ScrollView,并且查看是更改。 但是TabBar消失了。
某人,请帮忙!建议我。申请图片 http://www.0502.me/help/xcode_why.png
项目视图控制器(TableView)
#import "FirstViewController.h"
#import "SecondViewController.h"
@implementation FirstViewController
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
return YES;
}
}
- (IBAction)pageOne:(id)sender {
//Below code is switch View
SecondViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondView"];
[self presentModalViewController:secondView animated:YES];
}
- (IBAction)pageTwo:(id)sender {
}
- (IBAction)pageThree:(id)sender {
}
@end
第二个视图控制器(ScrollView)
#import "SecondViewController.h"
@implementation SecondViewController
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
-(void)pageLoad:(UIScrollView *)scrollView {
currentPage = scrollView.contentOffset.x / scrollView.bounds.size.width;
int pageWidth = self.view.frame.size.width;
int pageHeight = self.view.frame.size.height;
prevPage.frame = CGRectMake(
pageWidth * (currentPage - 1),
0,
pageWidth,
pageHeight
);
if (currentPage > 0) {
[prevPage setImage:[NSString stringWithFormat:@"%d", (currentPage - 1) % kPageNum]];
prevPage.hidden = NO;
} else {
prevPage.hidden = YES;
}
currPage.frame = CGRectMake(
pageWidth * currentPage,
0,
pageWidth,
pageHeight
);
[currPage setImage:[NSString stringWithFormat:@"%d", currentPage % kPageNum]];
currPage.hidden = NO;
nextPage.frame = CGRectMake(
pageWidth * (currentPage + 1),
0,
pageWidth,
pageHeight
);
if (currentPage < (kPageNum - 1)) {
[nextPage setImage:[NSString stringWithFormat:@"%d", (currentPage + 1) % kPageNum]];
nextPage.hidden = NO;
} else {
nextPage.hidden = YES;
}
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.frame = self.view.bounds;
scrollView.contentSize = CGSizeMake(self.view.frame.size.width * kPageNum, self.view.frame.size.height);
scrollView.pagingEnabled = YES;
[self.view addSubview:scrollView];
scrollView.delegate = self;
prevPage = [[PageView alloc] initWithFrame:self.view.bounds];
[scrollView addSubview:prevPage];
currPage = [[PageView alloc] initWithFrame:self.view.bounds];
[scrollView addSubview:currPage];
nextPage = [[PageView alloc] initWithFrame:self.view.bounds];
[scrollView addSubview:nextPage];
[self pageLoad:scrollView];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat position = scrollView.contentOffset.x / scrollView.bounds.size.width;
CGFloat delta = position - (CGFloat)currentPage;
if (fabs(delta) >= 1.0f) {
[self pageLoad:scrollView];
}
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end
答案 0 :(得分:2)
您将其作为模态视图呈现。如果我理解您的问题,您只想切换UITabBar
中的所选项目。你可以这样做:
self.tabBarController.selectedIndex = index;
其中index是一个整数,表示要切换到的UIViewController
的索引。在您的情况下,看起来索引应为0。