在滚动视图上添加子视图(UIScrollView)

【10. Wi-Fi 通用模组-小米 IoT 平台-如何进行硬件调试】 调试APP功能:从米家服务器缓存读取设备状态,等同于米家APP 的环境,开发者使用该调试器可模拟用户使用设备的实际情况,即调试米家 App 中的扩展程序。- 调试固件:调试器从固件读取设备状态,用于调试设备模组固件的某个单项功能,开发者使用该调试器可针对性地调试设备的某个功能。小爱语控测试工具:如果当前产品可被小爱语控,则可以使用该工具调试语控效果。调试APP功能(云端缓存) 阅读详情

在我做一个学习APP的时候,遇到让我很头疼的问题,头疼的原因是因为我自己太菜了吧!

APP的大部分功能都是在一个滚动视图上完成的,几乎所有页面都加在滚动视图上的,因为每一页都是一道题目,而且题目非常多,每个年级每一单元这样来分类的。

题目类型也比较多,我不可能一道题都设计一个页面吧,这样肯定是不可能的,所以我就每个类型的题目设计了一个界面。

后来问题来了,我该怎么从json文件中取出每道题然后一道一道,一中类型一种类型地加载页面呢?

因为每种类型的题目有多项,而且是一种类型完了之后才会有另一类型的题目。

后来纠结郁闷思考之后解决了,部分代码如下((⊙o⊙)…,还是贴一个类算了吧,嘟嘟嘟嘟嘟...):


#import "ContentController.h"
#import "Layout1Controller.h"
#import "Layout2Controller.h"
#import "Layout41Controller.h"
#import "Layout4Controller.h"
#define viewW self.view.frame.size.width
#define viewH self.view.frame.size.height
#import "TitleCatalogue.h"

#import "Layout21Controller.h"
#import "Layout26Controller.h"
#import "Layout52Controller.h"
#import "Layout15Controller.h"
#import "Layout51Controller.h"
#import "Layout56Controller.h"
#import "Layout6aController.h"
#import "Layout5Controller.h"
#import "Layout54Controller.h"
#import "Layout55Controller.h"
#import "Layout25Controller.h"
#import "Layout42ViewController.h"

#import <AVFoundation/AVFoundation.h>

@interface ContentController ()<UIScrollViewDelegate,AVAudioPlayerDelegate>
{
    NSDictionary *jsonDic;
    
    NSInteger tipNum;//提示图片的每一页的数字
    
    NSInteger _currentPage;//第几页
    
    TitleCatalogue *_title;
    NSMutableDictionary *_dicMP3;//存储所有的MP3
    
    //存储每种题目类型
    NSMutableArray *arrayNo1;
    NSMutableArray *arrayNo2;
    NSMutableArray *arrayNo3;
    NSMutableArray *arrayNo4;
    
    NSMutableArray *arrayNo5;
    NSMutableArray *arrayNo6;
    NSMutableArray *arrayNo7;
    NSMutableArray *arrayNo8;
    NSMutableArray *arrayNo9;
    NSMutableArray *arrayNo10;
    NSMutableArray *arrayNo11;
    NSMutableArray *arrayNo12;
    NSMutableArray *arrayNo13;
    NSMutableArray *arrayNo14;
    
    NSMutableArray *arrayNo15;
    
    NSMutableArray *arrayNo21;
    NSMutableArray *arrayNo41;
    NSMutableArray *arrayNo42;

    NSMutableArray *arrayNo26;
    
    NSMutableArray *arrayNo52;
    NSMutableArray *arrayNo51;
    NSMutableArray *arrayNo54;
    NSMutableArray *arrayNo55;
    NSMutableArray *arrayNo56;
    
    NSMutableArray *arrayNo6a;
    NSMutableArray *arrayNo6b;
    NSMutableArray *arrayNo6c;
    NSMutableArray *arrayNo6d;
    NSMutableArray *arrayNo6e;
    NSMutableArray *arrayNo6f;
    NSMutableArray *arrayNo6g;
    NSMutableArray *arrayNo6h;
    NSMutableArray *arrayNo6i;
    NSMutableArray *arrayNo6j;
    
    NSMutableArray *arrayNo25;
    
 
    //存储选择的答案
    NSMutableDictionary *dicAnswer;
    NSMutableArray *arrayAnswer;
     //存储正确的答案
    NSMutableDictionary *dicRealAnswer;
    NSMutableArray *arrayRealAnswer;
    
}

//创建播放器
@property (nonatomic,strong)AVAudioPlayer *player;

//模型对象
//@property (nonatomic,strong)TitleCatalogue *title;

@end


@implementation ContentController

/*
@synthesize title=_title;

- (TitleCatalogue *)title
{
    if(!_title)
    {
        _title=[[TitleCatalogue alloc]init];
    }
    return _title;
}
*/
- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self loadFrame];
    [self loadDate];
}

- (void)loadDate
{
    
    _currentPage=0;
    
    _dicMP3=[[NSMutableDictionary alloc]initWithCapacity:0];
   
    arrayNo1=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo2=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo21=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo41=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo42=[[NSMutableArray alloc]initWithCapacity:0];
    
    arrayNo4=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo5=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo8=[[NSMutableArray alloc]initWithCapacity:0];
    
    arrayNo26=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo52=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo15=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo51=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo56=[[NSMutableArray alloc]initWithCapacity:0];
    
    arrayNo6a=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6b=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6c=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6d=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6e=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6f=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6g=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6h=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6i=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6j=[[NSMutableArray alloc]initWithCapacity:0];
    
    arrayNo54=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo55=[[NSMutableArray alloc]initWithCapacity:0];
    
    arrayNo3=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo7=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo9=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo10=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo11=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo12=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo13=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo14=[[NSMutableArray alloc]initWithCapacity:0];
    arrayNo6=[[NSMutableArray alloc]initWithCapacity:0];
    
    arrayNo25=[[NSMutableArray alloc]initWithCapacity:0];
    
    dicAnswer=[[NSMutableDictionary alloc]initWithCapacity:0];
    dicRealAnswer=[[NSMutableDictionary alloc]initWithCapacity:0];
    arrayAnswer=[[NSMutableArray alloc]initWithCapacity:0];
    arrayRealAnswer=[[NSMutableArray alloc]initWithCapacity:0];
    
    jsonDic=[[NSDictionary alloc]init];
    
    //得到每种类型的数量,得到每道题的答案,存储MP3 
    for (int i=0; i<self.jsonArray.count; i++)
    {
        
        jsonDic=[self.jsonArray objectAtIndex:i];
        NSString *strMp3=[jsonDic objectForKey:@"mp3"];
        //把所有的MP3都存储在字典中
        if (![strMp3 isEqualToString:@""]) {
            NSInteger num=(NSInteger)i;
            NSNumber *number=[NSNumber numberWithInteger:num];
            [_dicMP3 setObject:strMp3 forKey:number];
        }
        //把所有答案取出来,存储在字典中(setObject:答案;forKey:题目)
        NSString *strAnswer=[jsonDic objectForKey:@"realanswer"];
        NSInteger answerNum=(NSInteger)i;
        NSNumber *answerNumber=[NSNumber numberWithInteger:answerNum];
        [dicRealAnswer setObject:strAnswer forKey:answerNumber];
        
        //把所有答案取出来,存储在数组中
        [arrayRealAnswer addObject:[jsonDic objectForKey:@"realanswer"]];
        
        
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"1"]) {
            [arrayNo1 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"2"]) {
            [arrayNo2 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"3"]) {
            [arrayNo3 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"21"]) {
            [arrayNo21 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"41"]) {
            [arrayNo41 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"42"]) {
            [arrayNo42 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"4"]) {
            [arrayNo4 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"5"]) {
            [arrayNo5 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6"]) {
            [arrayNo6 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"7"]) {
            [arrayNo7 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"8"]) {
            [arrayNo8 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"9"]) {
            [arrayNo9 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"10"]) {
            [arrayNo10 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"11"]) {
            [arrayNo11 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"12"]) {
            [arrayNo12 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"13"]) {
            [arrayNo13 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"14"]) {
            [arrayNo14 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6a"]) {
            [arrayNo6a addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6b"]) {
            [arrayNo6b addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6c"]) {
            [arrayNo6c addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6d"]) {
            [arrayNo6d addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6e"]) {
            [arrayNo6e addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6f"]) {
            [arrayNo6f addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6g"]) {
            [arrayNo6g addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6h"]) {
            [arrayNo6h addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6i"]) {
            [arrayNo6i addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"6j"]) {
            [arrayNo6j addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"55"]) {
            [arrayNo55 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"54"]) {
            [arrayNo54 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"56"]) {
            [arrayNo56 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"51"]) {
            [arrayNo51 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"15"]) {
            [arrayNo15 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"52"]) {
            [arrayNo52 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"26"]) {
            [arrayNo26 addObject:[jsonDic objectForKey:@"no"]];
        }
        if ([[jsonDic objectForKey:@"train_type"] isEqualToString:@"25"]) {
            [arrayNo25 addObject:[jsonDic objectForKey:@"no"]];
        }
        
    }
    
    //最后那个题的序号,就是序号的最大值,用作题目提示的总题号
    NSInteger tipSum1 = 0;
    for( NSString *tmp in arrayNo1){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum1){
            tipSum1 = num;
        }
        
    }
    
    NSInteger tipSum2 = 0;
    for( NSString *tmp in arrayNo2){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum2){
            tipSum2 = num;
        }
        
    }
    
    NSInteger tipSum3 = 0;
    for( NSString *tmp in arrayNo3){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum3){
            tipSum3 = num;
        }
        
    }
    
    NSInteger tipSum21 = 0;
    for( NSString *tmp in arrayNo21){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum21){
            tipSum21 = num;
        }
        
    }
    
    NSInteger tipSum41 = 0;
    for( NSString *tmp in arrayNo41){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum41){
            tipSum41 = num;
        }
        
    }
    
    NSInteger tipSum42 = 0;
    for( NSString *tmp in arrayNo42){
        
        NSInteger num = [tmp integerValue];
        
        if(num > tipSum42){
            tipSum42 = num;
        }
        
    }
    
    NSInteger tipSum4 = 0;
    for( NSString *tmp in arrayNo4){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum4){
            tipSum4 = num;
        }
        
    }
    
    NSInteger tipSum5 = 0;
    for( NSString *tmp in arrayNo5){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum5){
            tipSum5 = num;
        }
        
    }
    
    NSInteger tipSum6 = 0;
    for( NSString *tmp in arrayNo6){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6){
            tipSum6 = num;
        }
        
    }
    
    NSInteger tipSum7 = 0;
    for( NSString *tmp in arrayNo7){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum7){
            tipSum7 = num;
        }
        
    }
    
    NSInteger tipSum8 = 0;
    for( NSString *tmp in arrayNo8){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum8){
            tipSum8 = num;
        }
        
    }
    
    NSInteger tipSum9 = 0;
    for( NSString *tmp in arrayNo9){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum9){
            tipSum9 = num;
        }
        
    }
    
    NSInteger tipSum10 = 0;
    for( NSString *tmp in arrayNo10){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum10){
            tipSum10 = num;
        }
        
    }
    
    NSInteger tipSum11 = 0;
    for( NSString *tmp in arrayNo11){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum11){
            tipSum11 = num;
        }
        
    }
    
    NSInteger tipSum12 = 0;
    for( NSString *tmp in arrayNo12){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum12){
            tipSum12 = num;
        }
        
    }
    
    NSInteger tipSum13 = 0;
    for( NSString *tmp in arrayNo13){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum13){
            tipSum13 = num;
        }
        
    }
    
    NSInteger tipSum14 = 0;
    for( NSString *tmp in arrayNo14){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum14){
            tipSum14 = num;
        }
        
    }
    
    NSInteger tipSum6a = 0;
    for( NSString *tmp in arrayNo6a){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6a){
            tipSum6a = num;
        }
        
    }
    
    NSInteger tipSum6b = 0;
    for( NSString *tmp in arrayNo6b){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6b){
            tipSum6b = num;
        }
        
    }
    
    NSInteger tipSum6c = 0;
    for( NSString *tmp in arrayNo6c){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6c){
            tipSum6c = num;
        }
        
    }
    
    NSInteger tipSum6d = 0;
    for( NSString *tmp in arrayNo6d){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6d){
            tipSum6d = num;
        }
        
    }
    
    NSInteger tipSum6e = 0;
    for( NSString *tmp in arrayNo6e){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6e){
            tipSum6e = num;
        }
        
    }
    
    NSInteger tipSum6f = 0;
    for( NSString *tmp in arrayNo6f){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6f){
            tipSum6f = num;
        }
        
    }
    
    NSInteger tipSum6g = 0;
    for( NSString *tmp in arrayNo6g){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6g){
            tipSum6g = num;
        }
        
    }
    
    NSInteger tipSum6h = 0;
    for( NSString *tmp in arrayNo6h){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6h){
            tipSum6h = num;
        }
        
    }
    
    NSInteger tipSum6i = 0;
    for( NSString *tmp in arrayNo6i){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6i){
            tipSum6i = num;
        }
        
    }
    
    NSInteger tipSum6j = 0;
    for( NSString *tmp in arrayNo6j){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum6j){
            tipSum6j = num;
        }
        
    }
 
    NSInteger tipSum55 = 0;
    for( NSString *tmp in arrayNo55){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum55){
            tipSum55 = num;
        }
        
    }
    
    NSInteger tipSum54 = 0;
    for( NSString *tmp in arrayNo54){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum54){
            tipSum54 = num;
        }
        
    }
    
    NSInteger tipSum56 = 0;
    for( NSString *tmp in arrayNo56){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum56){
            tipSum56 = num;
        }
        
    }
    
    NSInteger tipSum51 = 0;
    for( NSString *tmp in arrayNo51){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum51){
            tipSum51 = num;
        }
        
    }
    
    NSInteger tipSum15 = 0;
    for( NSString *tmp in arrayNo15){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum15){
            tipSum15 = num;
        }
        
    }
    
    NSInteger tipSum52 = 0;
    for( NSString *tmp in arrayNo52){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum52){
            tipSum52 = num;
        }
        
    }
    
    NSInteger tipSum26 = 0;
    for( NSString *tmp in arrayNo26){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum26){
            tipSum26 = num;
        }
        
    }
    
    NSInteger tipSum25 = 0;
    for( NSString *tmp in arrayNo25){
        
        NSInteger num = [tmp integerValue];
        if(num > tipSum25){
            tipSum25 = num;
        }
        
    }
    
    
//    NSInteger int1=[[arrayNo1 valueForKeyPath:@"@max.intValue"] integerValue];


    //取出每一题及其内容
    for (int i=0; i<self.jsonArray.count; i++) {
        
      jsonDic=[self.jsonArray objectAtIndex:i];
        _title.train_type=[jsonDic objectForKey:@"train_type"];
        _title.mp3=[jsonDic objectForKey:@"mp3"];
        _title.question=[jsonDic objectForKey:@"question"];
        _title.answera=[jsonDic objectForKey:@"answera"];
        _title.answerb=[jsonDic objectForKey:@"answerb"];
        _title.answerc=[jsonDic objectForKey:@"answerc"];
        _title.answerd=[jsonDic objectForKey:@"answerd"];
        _title.realanswer=[jsonDic objectForKey:@"realanswer"];
        _title.no=[jsonDic objectForKey:@"no"];
        
        tipNum=[_title.no integerValue];

        //根据文件上的题目依次显示
            if ([_title.train_type isEqualToString:@"1"])//2个图片的选择题
            {
                
               Layout1Controller *lay1=[[Layout1Controller alloc]init];
                lay1.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay1.lblTitle.text=_title.question;
                lay1.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum1,tipNum]];

                [lay1.btnAnswer1 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@s.png",_title.answera]] forState:UIControlStateSelected];
                [lay1.btnAnswer2 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png",_title.answerb]] forState:UIControlStateNormal];

                [lay1.btnAnswer1 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png",_title.answera]] forState:UIControlStateNormal];
                [lay1.btnAnswer2 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@s.png",_title.answerb]] forState:UIControlStateSelected];
                
                
                [_myScrollView addSubview:lay1.view];
                //添加子控制器
                [self addChildViewController:lay1];
                
                }
            else if ([_title.train_type isEqualToString:@"2"])//2个单词选择题
            {
                Layout2Controller *lay2=[[Layout2Controller alloc]init];
                lay2.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay2.lblTitlt.text=_title.question;
                lay2.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum2,tipNum]];
                lay2.lblAnswer1.text=_title.answera;
                lay2.lblAnswer2.text=_title.answerb;

                [lay2.btnAnswer setImage:[UIImage imageNamed:@"photo3_1_0s.png"] forState:UIControlStateSelected];
                [lay2.btnAnswer2 setImage:[UIImage imageNamed:@"grid_view1.png"] forState:UIControlStateNormal];

                [lay2.btnAnswer setImage:[UIImage imageNamed:@"grid_view1.png"] forState:UIControlStateNormal];
                [lay2.btnAnswer2 setImage:[UIImage imageNamed:@"photo3_1_0s.png"] forState:UIControlStateSelected];
                
                //判断答案
                
                [_myScrollView addSubview:lay2.view];
                [self addChildViewController:lay2];
            }
            else if ([_title.train_type isEqualToString:@"3"])//3个图片选择题,Layout21Controller
            {
                Layout21Controller *lay3=[[Layout21Controller alloc]init];
                lay3.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay3.lblTitle.text=_title.question;
                lay3.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum3,tipNum]];
                lay3.lblAnswer1.hidden=YES;
                lay3.lblAnswer2.hidden=YES;
                lay3.lblAnswer3.hidden=YES;
                
                [lay3.btnAnswer1 setImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                [lay3.btnAnswer2 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                [lay3.btnAnswer3 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                
                [lay3.btnAnswer1 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                [lay3.btnAnswer2 setImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                [lay3.btnAnswer3 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                
                [lay3.btnAnswer1 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                [lay3.btnAnswer3 setImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                [lay3.btnAnswer2 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                
                [_myScrollView addSubview:lay3.view];
                [self addChildViewController:lay3];
            }
            else if ([_title.train_type isEqualToString:@"4"])//3个单词选择题,Layout21Controller
            {
                Layout21Controller *lay4=[[Layout21Controller alloc]init];
                lay4.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay4.lblTitle.text=_title.question;
                lay4.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum4,tipNum]];
                lay4.lblAnswer1.text=_title.answera;
                lay4.lblAnswer2.text=_title.answerb;
                lay4.lblAnswer3.text=_title.answerc;
//                NSLog(@"answer3:%@\nlblAnswer3:%@",_title.answerc,lay4.lblAnswer3.text);
                
                
                [lay4.btnAnswer1 setImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                [lay4.btnAnswer2 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                [lay4.btnAnswer3 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                
                [lay4.btnAnswer1 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                [lay4.btnAnswer2 setImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                [lay4.btnAnswer3 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                
                [lay4.btnAnswer1 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                [lay4.btnAnswer3 setImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                [lay4.btnAnswer2 setImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                
                [_myScrollView addSubview:lay4.view];
                [self addChildViewController:lay4];
            }
            else if([_title.train_type isEqualToString:@"5"])//1个填空
            {
                Layout5Controller *lay5=[[Layout5Controller alloc]init];
                lay5.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay5.lblTitle.text=_title.question;
                lay5.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum5,tipNum]];
                lay5.lblAnswer1.text=_title.answera;
                
                //属性传值
                lay5.strQuestion=_title.answera;
                
                [self.myScrollView addSubview:lay5.view];
                [self addChildViewController:lay5];
                
            }
            else if([_title.train_type isEqualToString:@"15"])//看图填1个空
            {
                Layout15Controller *lay15=[[Layout15Controller alloc]init];
                lay15.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay15.lblTitle.text=_title.question;
                lay15.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum15,tipNum]];
                lay15.lblAnswer1.text=_title.answera;
                lay15.imgAnswer2.image=[UIImage imageNamed:_title.answerc];
                //属性传值
                lay15.strQuestion=_title.answera;
      
                [self.myScrollView addSubview:lay15.view];
                [self addChildViewController:lay15];
                
            }
            else if([_title.train_type isEqualToString:@"16"])//看图填2个空
            {
                Layout15Controller *lay16=[[Layout15Controller alloc]init];
                lay16.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay16.lblTitle.text=_title.question;
                lay16.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum15,tipNum]];
                lay16.lblAnswer1.text=_title.answera;
                lay16.imgAnswer2.image=[UIImage imageNamed:_title.answerc];
                //属性传值
                lay16.strQuestion=_title.answera;
                
                [self.myScrollView addSubview:lay16.view];
                [self addChildViewController:lay16];
                
            }
            else if([_title.train_type isEqualToString:@"21"])//图片的排序、编号,Layout4Controller
            {
                Layout4Controller *lay21=[[Layout4Controller alloc]init];
                lay21.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay21.lblTitle.text=_title.question;
                lay21.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum21,tipNum]];
                lay21.imgAnswer1.image=[UIImage imageNamed:_title.answera];
                lay21.imgAnswer2.image=[UIImage imageNamed:_title.answerb];
                
                if([_title.answerc isEqualToString:@"no2"])//判断是几张图片
                {
                    lay21.btnFive.hidden=YES;
                    lay21.btnSix.hidden=YES;
                }
                if([_title.answerc isEqualToString:@"no"])
                {
                    lay21.btnSix.hidden=YES;
                }
                if([_title.answerc isEqualToString:@"no3"])
               {
                   lay21.btnSix.hidden=YES;
                   lay21.btnFive.hidden=YES;
                   lay21.btnFour.hidden=YES;
                   lay21.imgAnswer2.hidden=YES;
               }
                
                [_myScrollView addSubview:lay21.view];
                [self addChildViewController:lay21];
            }
            else if([_title.train_type isEqualToString:@"41"])//根据给出的字母,选出(题目上的)正确答案
            {
                Layout41Controller *lay41=[[Layout41Controller alloc]init];
                lay41.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay41.lblTitle.text=_title.question;
                lay41.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum41,tipNum]];
                lay41.lblWorld.text=_title.answera;
                //属性传值
                lay41.strSelect=_title.answerb;
                
                [self.myScrollView addSubview:lay41.view];
                [self addChildViewController:lay41];
            }
            else if([_title.train_type isEqualToString:@"42"])//根据给出的图片以及听MP3,选出(题目上的)正确答案
            {
                Layout42ViewController *lay42=[[Layout42ViewController alloc]init];
                lay42.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay42.lblTitle.text=_title.question;
                lay42.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum42,tipNum]];
                lay42.imgAnswer1.image=[UIImage imageNamed:_title.answera];
                //根据给出的字母的长度(个数)动态创建按钮选项
                
                //属性传值
                lay42.strSelect=_title.answerb;
                
                [self.myScrollView addSubview:lay42.view];
                [self addChildViewController:lay42];
            }
            else if ([_title.train_type isEqualToString:@"26"])//画图
            {
                Layout26Controller *lay26=[[Layout26Controller alloc]init];
                lay26.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay26.lblTitle.text=_title.question;
                lay26.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum26,tipNum]];
                //………………创建画板,画图
                
                [self.myScrollView addSubview:lay26.view];
                [self addChildViewController:lay26];
            }
            else if([_title.train_type isEqualToString:@"52"])//看图选
            {
                Layout52Controller *lay52=[[Layout52Controller alloc]init];
                lay52.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay52.lblTitle.text=_title.question;
                lay52.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum52,tipNum]];
                lay52.imgAnswer1.image=[UIImage imageNamed:_title.answera];
                lay52.lblAnswer2.text=_title.answerb;
                lay52.lblAnswer3.text=_title.answerc;

                    [lay52.btnAnswer2 setImage:[UIImage imageNamed:@"grid_view1.png"] forState:UIControlStateNormal];
                    [lay52.btnAnswer3 setImage:[UIImage imageNamed:@"photo3_1_0s.png"] forState:UIControlStateSelected];
      
                    
                    [lay52.btnAnswer2 setImage:[UIImage imageNamed:@"photo3_1_0s.png"] forState:UIControlStateSelected];
                    [lay52.btnAnswer3 setImage:[UIImage imageNamed:@"grid_view1.png"] forState:UIControlStateNormal];
     
                
                [self.myScrollView addSubview:lay52.view];
                [self addChildViewController:lay52];

            }
            else if([_title.train_type isEqualToString:@"51"])//看单词选(2选项)
            {
                Layout51Controller *lay51=[[Layout51Controller alloc]init];
                lay51.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay51.lblTitle.text=_title.question;
                lay51.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum51,tipNum]];
                lay51.lblAnswer.text=_title.answera;
                
                [lay51.btnAnswer2 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay51.btnAnswer2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                [lay51.btnAnswer3 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay51.btnAnswer3 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                
                [lay51.btnAnswer2 setTitle:_title.answerb forState:UIControlStateNormal];
                [lay51.btnAnswer3 setTitle:_title.answerc forState:UIControlStateNormal];
                [lay51.btnAnswer2 setTitle:_title.answerb forState:UIControlStateSelected];
                [lay51.btnAnswer3 setTitle:_title.answerc forState:UIControlStateSelected];

                    [lay51.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"grid_view1.png"] forState:UIControlStateNormal];
                    [lay51.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"photo3_1_0s.png"] forState:UIControlStateSelected];

                    
                    [lay51.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"photo3_1_0s.png"] forState:UIControlStateSelected];
                    [lay51.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"grid_view1.png"] forState:UIControlStateNormal];
                
                [self.myScrollView addSubview:lay51.view];
                [self addChildViewController:lay51];
                
            }
            else if([_title.train_type isEqualToString:@"56"])//四个选项选择题
            {
                Layout56Controller *lay56=[[Layout56Controller alloc]init];
                lay56.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay56.lblTitle.text=_title.question;
                lay56.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum56,tipNum]];
                [lay56.btnAnswer1 setTitle:_title.answera forState:UIControlStateNormal];
                [lay56.btnAnswer2 setTitle:_title.answerb forState:UIControlStateNormal];
                [lay56.btnAnswer3 setTitle:_title.answerc forState:UIControlStateNormal];
                [lay56.btnAnswer4 setTitle:_title.answerd forState:UIControlStateNormal];
                [lay56.btnAnswer1 setTitle:_title.answera forState:UIControlStateSelected];
                [lay56.btnAnswer2 setTitle:_title.answerb forState:UIControlStateSelected];
                [lay56.btnAnswer3 setTitle:_title.answerc forState:UIControlStateSelected];
                [lay56.btnAnswer4 setTitle:_title.answerd forState:UIControlStateSelected];
                
                [lay56.btnAnswer2 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay56.btnAnswer2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                [lay56.btnAnswer3 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay56.btnAnswer3 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                [lay56.btnAnswer1 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay56.btnAnswer1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                [lay56.btnAnswer4 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay56.btnAnswer4 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

                    
                    [lay56.btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                    [lay56.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer4 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
   
                    
                    [lay56.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                    [lay56.btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer4 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
  
                    
                    [lay56.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                    [lay56.btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer4 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];

                    [lay56.btnAnswer4 setBackgroundImage:[UIImage imageNamed:@"select3_4ds.png"] forState:UIControlStateSelected];
                    [lay56.btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                    [lay56.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"select3_4d.png"] forState:UIControlStateNormal];
                
                
                [self.myScrollView addSubview:lay56.view];
                [self addChildViewController:lay56];
                
            }
            else if([_title.train_type isEqualToString:@"6a"])//填空1(听录音,在横线上填入所缺数字)
            {
                Layout6aController *lay6a=[[Layout6aController alloc]init];
                lay6a.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay6a.lblTitle.text=_title.question;
                lay6a.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum6a,tipNum]];
                lay6a.lblAnswer.text=_title.answera;
                
             //这个待完善^^^^^^^^^^^^^^^^^^
                
                [self.myScrollView addSubview:lay6a.view];
                [self addChildViewController:lay6a];
                
            }
            else if([_title.train_type isEqualToString:@"54"])//看单词选(3选项)
            {
                Layout54Controller *lay54=[[Layout54Controller alloc]init];
                lay54.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay54.lblTitle.text=_title.question;
                lay54.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum54,tipNum]];
                lay54.lblAnswer1.text=_title.answera;
                [lay54.btnAnswer2 setTitle:_title.answerb forState:UIControlStateNormal];
                [lay54.btnAnswer3 setTitle:_title.answerc forState:UIControlStateNormal];
                [lay54.btnAnswer4 setTitle:_title.answerd forState:UIControlStateNormal];
                
                [lay54.btnAnswer2 setTitle:_title.answerb forState:UIControlStateSelected];
                [lay54.btnAnswer3 setTitle:_title.answerc forState:UIControlStateSelected];
                [lay54.btnAnswer4 setTitle:_title.answerd forState:UIControlStateSelected];
                
                [lay54.btnAnswer2 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay54.btnAnswer2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                [lay54.btnAnswer4 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay54.btnAnswer4 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                [lay54.btnAnswer3 setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
                [lay54.btnAnswer3 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
                

                    [lay54.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"select3_4bs.png"] forState:UIControlStateSelected];
                    [lay54.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"select3_4b.png"] forState:UIControlStateNormal];
                    [lay54.btnAnswer4 setBackgroundImage:[UIImage imageNamed:@"select3_4b.png"] forState:UIControlStateNormal];
  
                    [lay54.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"select3_4bs.png"] forState:UIControlStateSelected];
                    [lay54.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"select3_4b.png"] forState:UIControlStateNormal];
                    [lay54.btnAnswer4 setBackgroundImage:[UIImage imageNamed:@"select3_4b.png"] forState:UIControlStateNormal];

                    [lay54.btnAnswer4 setBackgroundImage:[UIImage imageNamed:@"select3_4bs.png"] forState:UIControlStateSelected];
                    [lay54.btnAnswer3 setBackgroundImage:[UIImage imageNamed:@"select3_4b.png"] forState:UIControlStateNormal];
                    [lay54.btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"select3_4b.png"] forState:UIControlStateNormal];
   
                
                [self.myScrollView addSubview:lay54.view];
                [self addChildViewController:lay54];
                
            }
            else if([_title.train_type isEqualToString:@"55"])//选图和填空
            {
                Layout55Controller *lay55=[[Layout55Controller alloc]init];
                lay55.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay55.lblTitle.text=_title.question;
                lay55.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum55,tipNum]];

                [lay55.btnAnswer1 setTitle:_title.answera forState:UIControlStateNormal];
                [lay55.btnAnswer2 setTitle:_title.answerb forState:UIControlStateNormal];
                
                
                [lay55.btnAnswer1 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@s.png",_title.answera]] forState:UIControlStateSelected];
                [lay55.btnAnswer2 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png",_title.answerb]] forState:UIControlStateNormal];
                
                [lay55.btnAnswer1 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png",_title.answera]] forState:UIControlStateNormal];
                [lay55.btnAnswer2 setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@s.png",_title.answerb]] forState:UIControlStateSelected];

                
                //^^^^^^^^下面判断空格和选项是否正确

                
                
                [self.myScrollView addSubview:lay55.view];
                [self addChildViewController:lay55];
                
            }
            else if([_title.train_type isEqualToString:@"25"])//排序8个
            {
                Layout25Controller *lay25=[[Layout25Controller alloc]init];
                lay25.view.frame=CGRectMake(viewW*i, 0, viewW, viewH);
                lay25.lblTitle.text=_title.question;
                lay25.imgTip.image=[UIImage imageNamed:[NSString stringWithFormat:@"select2_%ic%i.png",tipSum25,tipNum]];
                
                lay25.imgAnswer1.image=[UIImage imageNamed:_title.answera];
                lay25.imgAnswer2.image=[UIImage imageNamed:_title.answerb];
                lay25.imgAnswer3.image=[UIImage imageNamed:_title.answerc];
                
                [self.myScrollView addSubview:lay25.view];
                [self addChildViewController:lay25];
                
            }
        
        //播放第一页的MP3
        [self playMp3];

        }

}

/*
//获取字符串的宽度
-(float) widthForString:(NSString *)value fontSize:(float)fontSize andHeight:(float)height
{
    CGSize sizeToFit = [value sizeWithFont:[UIFont systemFontOfSize:fontSize] constrainedToSize:CGSizeMake(CGFLOAT_MAX, height) lineBreakMode:NSLineBreakByWordWrapping];//此处的换行类型(lineBreakMode)可根据自己的实际情况进行设置
    return sizeToFit.width;
}
//获得字符串的高度
-(float) heightForString:(NSString *)value fontSize:(float)fontSize andWidth:(float)width
{
    CGSize sizeToFit = [value sizeWithFont:[UIFont systemFontOfSize:fontSize] constrainedToSize:CGSizeMake(width, CGFLOAT_MAX) lineBreakMode:NSLineBreakByCharWrapping];//此处的换行类型(lineBreakMode)可根据自己的实际情况进行设置
    return sizeToFit.height;
}
 */

//初始化界面
- (void)loadFrame{
    
    _title=[[TitleCatalogue alloc]init];
    //是否滑动到最顶端
    _myScrollView.scrollsToTop = NO;
    _myScrollView.delegate = self;
    _myScrollView.contentSize = CGSizeMake(viewW*self.jsonArray.count, 0);//设置内容大小
    
    _myScrollView.bounces = NO;//是否反弹
    
    _myScrollView.pagingEnabled = YES;//是否分页
    
    _myScrollView.scrollEnabled = YES;// 是否滚动

    //设置取消触摸
    self.myScrollView.canCancelContentTouches = NO;
    //设置滚动条类型
//    self.myScrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    //是否自动裁切超出部分
    self.myScrollView.clipsToBounds = YES;
    //设置是否可以缩放
    self.myScrollView.scrollEnabled = YES;
    //设置是否可以进行画面切换
    self.myScrollView.pagingEnabled = YES;
    //设置在拖拽的时候是否锁定其在水平或者垂直的方向
    self.myScrollView.directionalLockEnabled = NO;
    //隐藏滚动条设置(水平、跟垂直方向)
    self.myScrollView.alwaysBounceHorizontal = NO;
    self.myScrollView.alwaysBounceVertical = NO;
    self.myScrollView.showsHorizontalScrollIndicator = NO;
    self.myScrollView.showsVerticalScrollIndicator = NO;

    [self bottomViewSet];

}

//滚动视图底部上一题和下一题按钮的变化
- (void)bottomViewSet
{
    //如果是第一题,那么这个按钮就不可用
    if (_currentPage==0) {
        [_btnLast setImage:[UIImage imageNamed:@"select2_7b9.png"] forState:UIControlStateNormal];
        _btnLast.enabled=NO;
    }
    else
    {
        [_btnLast setImage:[UIImage imageNamed:@"select2_7b.png"] forState:UIControlStateNormal];
        _btnLast.enabled=YES;
    }
    
    //如果是最后一题,那么下一题的按钮隐藏不可用,提交按钮出现
    if (_currentPage==self.jsonArray.count-1) {
        _btnNext.enabled=NO;
        _btnSubmit.enabled=YES;
        _btnNext.hidden=YES;
        _btnSubmit.hidden=NO;
        
    }
    else
    {
        _btnNext.enabled=YES;
        _btnSubmit.enabled=NO;
        _btnNext.hidden=NO;
        _btnSubmit.hidden=YES;
    }
}

//第一页播放MP3
- (void)playMp3
{
    
    if (_currentPage==0) {
        
        NSNumber *num=[NSNumber numberWithInteger:0];
        NSString *strMp3=[_dicMP3 objectForKey:num];

        //如果没有MP3
        if ([strMp3 rangeOfString:@""].location !=NSNotFound) {
            
           // 按钮禁用
            self.btnListen.enabled=NO;
            
        }

        else
        {
            //按钮启用,播放MP3
            self.btnListen.enabled=YES;
            NSURL *url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:strMp3 ofType:@"mp3"]];
            _player=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
            _player.delegate=self;
            [_player prepareToPlay];
            [_player play];
        }
    }
}

//每页播放自己的MP3
- (void)playerMp3
{
    //如果没有MP3,那么这个按钮就不可用,否则播放MP3
    NSNumber *num=[NSNumber numberWithInteger:_currentPage];
    NSString *strMp3=[_dicMP3 objectForKey:num];
    
    //播放MP3
    NSURL *url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:strMp3 ofType:@"mp3"]];
    //创建播放器
    _player=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
    _player.delegate=self;
    
    if ([strMp3 rangeOfString:@""].location !=NSNotFound) {//找得到MP3的地址

        //禁用按钮
        self.btnListen.enabled=NO;
        //停止上一个播放
        [_player stop];
        
        }
    else{

        self.btnListen.enabled=YES;
        //缓冲
        [self.player prepareToPlay];
        //播放
        [self.player play];
        
        }

}

//滚动视图减速完成,滚动将停止时,调用该方法。一次有效滑动,只执行一次。显示当前页面的索引
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

     _currentPage = scrollView.contentOffset.x/[UIScreen mainScreen].bounds.size.width;
    
    [self playerMp3];
    
    [self bottomViewSet];

}


//回到目录页面
- (IBAction)clickHome:(id)sender {
    
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"" message:@"是否要回到目录页?" preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
    UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        [self.navigationController popViewControllerAnimated:YES];
    }];
    [alertController addAction:cancelAction];
    [alertController addAction:okAction];
    [self presentViewController:alertController animated:YES completion:nil];
}

//上一题
- (IBAction)clickLast:(id)sender {
    //如果是第一题,那个这个按钮就不可用
    
    if (_currentPage==0) {
        [_btnLast setImage:[UIImage imageNamed:@"select2_7b9.png"] forState:UIControlStateNormal];
        _btnLast.enabled=NO;
       
    }
    else
    {
        _currentPage--;
        [_btnLast setImage:[UIImage imageNamed:@"select2_7b.png"] forState:UIControlStateNormal];
        _btnLast.enabled=YES;
    }
    //视图同步滚到到相应的题目
    CGFloat with=_currentPage*viewW;
    [_myScrollView setContentOffset:CGPointMake(with, 0) animated:YES];
    
    if (_btnNext.hidden==YES&&_btnNext.enabled==NO) {
        _btnNext.hidden=NO;
        _btnNext.enabled=YES;
        _btnSubmit.enabled=NO;
        _btnSubmit.hidden=YES;
    }
    
    //如果没有MP3,那么这个按钮就不可用,否则播放MP3
    [self playerMp3];

    
}

//播放当前题目的MP3
- (IBAction)clickListen:(id)sender {
    //如果没有MP3,那么这个按钮就不可用
    //播放MP3
    [self playerMp3];
    
}

//下一题
- (IBAction)clickNext:(id)sender {
    //如果是最后一题,那么这个按钮变为提交按钮

    if (_currentPage==self.jsonArray.count-1) {
        _btnNext.enabled=NO;
        _btnNext.hidden=YES;
        _btnSubmit.enabled=YES;
        _btnSubmit.hidden=NO;

    }
    else
    {
        _currentPage++;
        _btnNext.enabled=YES;
        _btnNext.hidden=NO;
        _btnSubmit.enabled=NO;
        _btnSubmit.hidden=YES;

    }
    
    //视图同步滚到到相应的题目
    CGFloat with=_currentPage*viewW;
    [_myScrollView setContentOffset:CGPointMake(with, 0) animated:YES];
    
    if (_btnLast.enabled==NO) {
        _btnLast.enabled=YES;
        [_btnLast setImage:[UIImage imageNamed:@"select2_7b.png"] forState:UIControlStateNormal];
    }
    
    [self playerMp3];
    
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

- (IBAction)clickSubmit:(id)sender {
        NSLog(@"提交!");
}
@end


这段代码呢,也是不完全的,因为功能基本上我都还没完成!

嘿嘿!不过解决我说的问题还是可以滴!

飞书日历同步Outlook翻车?我踩过的坑和最终用Google Calendar成功的完整配置记录 本文详细记录了从Outlook日历同步到飞书时遇到的常见问题及解决方案,特别是通过Google Calendar实现稳定同步的完整配置流程。文章揭示了Outlook同步方案易翻车的原因,并提供了Google Calendar的避坑指南、高级技巧和企业级部署建议,帮助用户高效实现日历同步。 阅读详情

相关推荐

ChatTutor:让AI老师“会写会画”,打造可视化、互动式智能教育新范式

ChatTutor是一款突破性的开源AI教学助手,通过可视化电白板实现"边讲边写"的沉浸式教学体验。该项目支持数学公式手写输入、动态函数绘图、自动生成思维导图等功能,采用多智能体架构实现专业协同。未来将扩展至编程、物理等STEM教育领域,适用于学生自学、教师备课和教育平台集成。作为MIT协议开源项目,ChatTutor通过赋予AI"教学肢体语言",推动教育从信息传递转向可视化互动建构,重新定义了AI助教的可能性。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 367

【原】Masonry+UIScrollView的使用注意事项

【原】Masonry+UIScrollView的使用注意事项 本文转载请注明出处 —— polobymulberry-博客园 1.问题描述 我想实现的使用在一个UIScrollView依次添加三个UITableView(tableView1、tableView2、tableView3)。最后想达到的效果就像下图这样: 或者用这张图更形象点: 然后我的代码大概的样 ...

weixin_30295091的博客 230

使用DrissionPage实现携程酒店信息智能爬取

本文介绍了一个基于DrissionPage技术的携程酒店信息爬虫系统,通过监听API数据包实现高效采集。系统可自动获取酒店名称、价格、评分、位置等15个维度的数据,支持多页滚动加载和智能去重。相比传统爬虫,该方法直接解析API返回的JSON数据,避免了复杂的HTML解析和加密参数分析,提高了开发效率和稳定性。文章详细阐述了13个关键实现步骤,并强调数据采集应严格遵守法律法规,仅用于技术学习和市场研究。该系统可为旅游决策、价格监测等提供数据支持,但需注意合理使用频率和隐私保护。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 355

UIScrollView添加AutoLayout约束的坑

之前在使用AutoLayout给UIScrollView进行布局的时候,总会出现点这样那样莫名其妙的问题.我也曾跳坑两次,挣扎许久最后都以放弃storyboard改为代码实现而告终.今天终得正解,遂拿出来说说. 先从最基础的开始,我们试着在storyboard上添加一个UIScrollView,并且在内部添加一个和它一样大的UIImageView. 首先,拖一个UIScrollView到sto

三多 1545

[原创]传递UIScrollView的滑动事件到其视图

在开发项目时,遇到了一个问题: 我的UIScrollViewOut中嵌入了一个UIScrollViewIn, 当我想要拖动UIScrollViewIn时,UIScrollViewOut却动了,而UIScrollViewIn没有动。但是只要按住UIScrollViewIn一会再拖动,UIScrollViewIn就可以滑动。 网上查阅UIScrollView的原理: UIScrollVi...

weixin_30794499的博客 249

在storyboard/xib中如何往UIScrollView里的视图添加约束?

喜欢xib布局的同学,大概多多少少都会遇到往UIScrollView视图添加约束时报莫名其妙的红色冲突问题,这要归咎于UIScrollView 是一个的特殊控件,导致对他的视图进行添加约束时也得用特殊方法。 接下来简单的描述下往UIScrollView里的视图添加约束的主要步骤。 1. 为了便于后续好对UIScrollView里的各个控件增加不同约束,最好只往UIScrol

木木不 2736

UIScrollViewView的自动布局处理

UIScrollView使用详解 contentSize:控件的大小, 限定滚动的范围 showsHorizontalScrollIndicator showsVerticalScrollIndicator bounces:弹簧效果,默认是YES,一般是不关闭 alwaysBounceHorizontal alwaysBounceVertical contentInset:拖动后,会停留在设置的内边距的位置 contentOffset:偏移量,滚动到了某个位置 setContentOffset: anim

疯狂的程序猿的博客 1341

iOS 添加scrollview控件,用masonry布局的问题

scrollview控件,用masonry布局的问题

m0_64343174的博客 933

iPhone设置滚动视图

设置旋转图片的步骤:   1 设置UIScrollView对象__scrollview的滚动范围   2 添加UIImageView对象到__scrollview   3 设置翻页属性 反弹 可见范围 圆角 遮盖 剪裁视图 代码: __scrollview.contentSize = CGSizeMake(320*5, 200); for (int i = 1;i UIImag

u011413730的专栏 703

UIScrollView

版权声明:本文为延成原创文章,转载请标明出处 #import "UIScrollViewViewController.h" @interface UIScrollViewViewController ()<UIScrollViewDelegate> { UIScrollView* _sv; } @end @implementation UIScrollViewView...

延成的博客 323

UIScrollView滚动的三个条件

问题描述: UIScrollView不能滚动 解决方法: 检查滚动必备的三个条件即可,分别是: 1、初始化实例,定义frame(滚动视图)大小 UIScrollView *scrollView = [[UIScrollView alloc]init]; scrollView.frame = self.view.bounds; 2、添加视图,也就是滚动的内容(Conte

天天爱增肥 1568

ios UIScrollView 滚动的一些处理

UIScrollView *scrollView = [[UIScrollView alloc] init];     scrollView.frame = self.view.bounds;     scrollView.delegate = self;     [scrollView addSubview:[[UISwitch alloc] init]];  

BianHuanShiZhe的专栏 491

UIScrollView 滚动视图 (实例)

UIScrollView 类负责所有基于 UIKit 的滚动操作。   一、创建   C代码   CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ;     UIScrollViewscrollView = [ [UIScrollView alloc ] initWithFra

677

UIScrollView的常用方法,属性

示例代码 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...

KevinAshen的博客 269

UIScrollview的使用

#import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize scrollView; - (void)viewDidLoad {     [super viewDidLoad];          scrollView = [

jiuchabaikaishui的专栏 457

Masonry适配——(4)UIScrollView的设置

UISCrollView在使用时,如果作为父视图包含多个视图时,我们需要设置它的contentSize的大小,否则无法进行滚动显示。使用frame进行设置时,只需要令xxxScrollView.contentSize = CGSizeMake(width,height)即可,且不管是水平方向,还是垂直方向都方便设置。 而当使用masonry时,应该怎么进行设置呢?因为使用masonry时,无法

super_man_ww的博客 3082

UIScrollView 的基本用法

iPhone/iPad 中 UIScrollView 还是经常要用到的,这里作了一个使用它最简单的例,一个 ScrollView 中放了三个 UIView。这三个 UIView 分别设置了不同的背景色,它们在 ScrollView 中可以一页一页的滚动。 这段代码放在 UIViewController 的 viewDidLoad 方法中执行的,请注意每个 Frame 和 ScrollVie

陈云峰技术博客 1474

[Unity]Unity开发NGUI代码实现ScrollView(滚动视图)

Unity开发NGUI代码实现ScrollView(滚动视图) 下载NGUI包 导入NGUI3.9.1版本package 链接: http://pan.baidu.com/s/1mgksPBU 密码: bacy 导入NGUI包 创建MainCameraScript.cs脚本 MainCameraScript.cs using UnityEngine; using System.Collect...

weixin_30399055的博客 229

iOS 用xib给scrollView添加约束

之前习惯了使用纯代码布局,最近使用xib给scrollView添加约束时遇到了一些问题,查阅资料后总结一下。 1.在xib中添加一个滚动视图UIScrollView,上下左右约束都为0 2.在滚动视图添加一个UIView,如果是水平方向滚动,设置UIView垂直居中。如果是竖直方向滚动,设置UIView水平居中。如果水平方向和竖直方向都需要滚动则不需要设置。设置UIView上下左右...

weixin_30836759的博客 398

UISCrollView内部放大

// // ScrollViewController.m // MyScrollView // // Created by lanou on 12-12-20. // Copyright (c) 2012年 lanou. All rights reserved. // #import "ScrollViewController.h" @interfac...

weixin_30640769的博客 157

UI-UIScrollView

- (void)viewDidLoad { [super viewDidLoad]; scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; scrollView.backgroundColor = [UIColor redColor]; // 是...

weixin_30768175的博客 67

iOS复习UIScoreView

- (void)viewDidLoad{ [superviewDidLoad]; UIScrollView *scrollview =[[UIScrollView alloc]initWithFrame:CGRectMake(50,0,200,400)]; scrollview.contentSize=CGSizeMake(200,3800);//滑动的范围 scr...

weixin_30314631的博客 81

基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip

【资源说明】基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip基于CNN卷积神经网络resnet算法实现垃圾分类识别源码(含.pt模型).zip【备注】1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载使用体验!2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈!

青海湖流域9大区县行政边界、主要河流分布及DEM(30米)-可编辑mxd文件+标准shape文件+标准成图TIF

本资源系统整理了青海湖流域的行政区划边界、主要河流分布以及30米分辨率数字高程模型(DEM)数据,包含可编辑MXD工程文件、标准Shapefile矢量文件以及标准成图TIF文件。数据经过规范化整理与制图处理,具有较高的空间精度和完整的数据结构,可直接应用于GIS空间分析、流域研究、生态环境评估以及科研教学等多种应用场景。从区域地理背景来看,青海湖流域位于青海省东北部,处于青藏高原东北缘,是我国重要的内陆湖泊流域之一。流域以青海湖为中心,周围被祁连山及高原丘陵环绕,整体地势呈现由四周山地向湖盆逐渐降低的地形格局。青海湖是中国最大的内陆咸水湖,对区域气候调节、水循环及生态系统稳定具有重要作用。在行政区划方面,青海湖流域涉及多个县级行政区,本资源系统整理了流域内9个区县的行政边界信息,可用于区域统计分析、行政单元空间叠加分析以及专题制图等应用。矢量行政边界数据结构规范,属性信息清晰,能够方便地与人口、土地利用或气候等数据进行综合分析。在水系与地形方面,流域内河流多发源于周边山地,沿山谷汇入青海湖,形成典型的高原内陆水系结构。主要河流呈放射状向湖区汇流,对流域水文过程具有重要影响。30米分辨率DEM数据能够较为精细地反映流域地形起伏、高程分布以及山地—湖盆地貌结构,可用于坡度、坡向、地形阴影、流域划分及水文分析等多种GIS地形分析。此外,资源还提供标准成图TIF文件,可直接用于科研论文插图、报告展示及教学演示;MXD工程文件保留完整图层结构与制图符号,用户可在ArcGIS平台中进行二次编辑与制图设计。整体数据结构清晰、格式规范,兼容ArcGIS、QGIS等主流GIS软件平台,可广泛应用于流域水文研究、生态环境评价及相关科研工作。

上一篇: The Operation couldn't be completed.(LaunchServicesError error 0.) 的解决方法
下一篇: iOS 中Base base64_encode编码
麦兜的胖肚肚
博客等级 码龄11年 29粉丝 39原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值