在我做一个学习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
这段代码呢,也是不完全的,因为功能基本上我都还没完成!
嘿嘿!不过解决我说的问题还是可以滴!