标签:
View Controller中可以添加多个sub view,在需要的时候显示出来;
可以通过viewController(parent)中可以添加多个child viewController;来控制页面中的sub view,降低代码耦合度;
通过切换,可以显示不同的view;替代之前的addSubView的管理
#import "TheatreListDetailViewController.h"类viewDidLoad里
    self.scrollView.delegate = self;
    self.scrollView.scrollEnabled = YES;
    self.scrollView.pagingEnabled=YES;
    self.scrollView.showsHorizontalScrollIndicator=NO;
    self.scrollView.showsVerticalScrollIndicator=NO;
    self.scrollView.backgroundColor = [UIColor clearColor];
    self.scrollView.clipsToBounds = NO;
    
    self.scrollView.contentSize=CGSizeMake([UIScreen mainScreen].bounds.size.width*3, [UIScreen mainScreen].bounds.size.height-64);
    
    UIView *navView1=[[UIView alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width*0, 0, [UIScreen mainScreen].bounds.size.width*1, [UIScreen mainScreen].bounds.size.height-64)];
    TheatreDetailViewController * detailViewController1 = [[TheatreDetailViewController alloc] init];
    [navView1 addSubview:detailViewController1.view];
    [self addChildViewController:detailViewController1];
    [self.scrollView addSubview:navView1];
    
    
    UIView *navView2=[[UIView alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width*1, 0, [UIScreen mainScreen].bounds.size.width*1, [UIScreen mainScreen].bounds.size.height-64)];
    SectionViewViewController * detailViewController2 = [[SectionViewViewController alloc] init];
    detailViewController2.contentUrl=@"https://www.baidu.com";
    [navView2 addSubview:detailViewController2.view];
    [self addChildViewController:detailViewController2];
    [self.scrollView addSubview:navView2];
    
    UIView *navView3=[[UIView alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width*2, 0, [UIScreen mainScreen].bounds.size.width*1, [UIScreen mainScreen].bounds.size.height-64)];
    CopyrightInformationViewController * detailViewController3 = [[CopyrightInformationViewController alloc] init];
    detailViewController3.contentUrl=@"https://www.baidu.com";
    [navView3 addSubview:detailViewController3.view];
    [self addChildViewController:detailViewController3];
    [self.scrollView addSubview:navView3];
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    
    if (scrollView==_scrollView) {
        int index = fabs(scrollView.contentOffset.x) / scrollView.frame.size.width;
        NSLog(@"index  %d",index);
        if (index==0) {
            //剧情介绍
            [self.scrollView scrollRectToVisible:CGRectMake([UIScreen mainScreen].bounds.size.width*0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-64) animated:YES];
            
        } else if (index==1){
            //章节浏览
            [self.scrollView scrollRectToVisible:CGRectMake([UIScreen mainScreen].bounds.size.width*1, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-64) animated:YES];
            
        } else if (index==2){
            //版权信息
            [self.scrollView scrollRectToVisible:CGRectMake([UIScreen mainScreen].bounds.size.width*2, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-64) animated:YES];
            
        }
        
    }
    
    
}
#import "TheatreDetailViewController.h"类里
        UIButton *aButton=[UIButton buttonWithType:UIButtonTypeCustom];
        aButton.frame=CGRectMake(40,100, 240, 40);
        [aButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        aButton.titleLabel.font=[UIFont systemFontOfSize:12];
        aButton.titleLabel.textAlignment=NSTextAlignmentCenter;
        [aButton setBackgroundColor:[UIColor clearColor]];
        [aButton setShowsTouchWhenHighlighted:YES];//按的时候设置高亮
        [self.view addSubview:aButton];
        [aButton setImage:[UIImage imageNamed:@"sz"] forState:UIControlStateNormal];
        [aButton setTitle:@"设置" forState:UIControlStateNormal];
        [aButton addTarget:self action:@selector(setAction:) forControlEvents:UIControlEventTouchUpInside];
//设置
-(void)setAction:(UIButton *)sender{
    TheatreSettingViewController * detailViewController = [[TheatreSettingViewController alloc] init];
    [self.navigationController pushViewController:detailViewController animated:YES];
}
标签:
原文地址:http://www.cnblogs.com/huangzs/p/4484858.html