我有超过3个视图和一个窗口视图(pdfReader.xib nib文件)。我有一个屏幕,其中包含按表视图表示的章节名称。每当任何行选择相关的chapeter正在加载。我控制着不同的观点。我想知道我的“pdfReader.m”文件中正在加载哪个视图。所以我将加载pdf文件进行阅读。我正在加载我的视图,如下面的代码。
我已经在
中编写了选择行的代码-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
..........
.........
switch (indexPath.row) {
case 0:
NSLog(@"!!!!!!");
pdfReader.view = pdfReader.Chapter1;
break;
case 1:
//pdfReader.view = pdfReader.Chapter2;
break;
case 2:
//pdfReader.view = pdfReader.Chapter3;
break;
default:
break;
}
...
...
}
我想在pdfReader.m文件中加载哪个视图。
答案 0 :(得分:0)
只需将对PDFView对象的引用传递给ViewController中的TableView。
答案 1 :(得分:0)
您需要为每个视图指定标记值。 (使用init
方法创建视图时)
pdfReader.Chapter1.tag = 1;
pdfReader.Chapter2.tag = 2;
pdfReader.Chapter3.tag = 3;
现在修改您的didSelectRowAtIndexPath
功能
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
{
if(pdfReader.view.tag == 1)
{
//First chapter used
}
else if(pdfReader.view.tag == 2)
{
//Second chapter used
}
else if(pdfReader.view.tag == 3)
{
//third chapter used
}
..........................
..........................
..........................
switch (indexPath.row)
{
case 0:
pdfReader.view = pdfReader.Chapter1;
break;
case 1:
//pdfReader.view = pdfReader.Chapter2;
break;
case 2:
//pdfReader.view = pdfReader.Chapter3;
break;
default:
break;
}
}
答案 2 :(得分:0)
UIKit的每个UI对象都有一个名为tag
的字段,该属性可用于设置任何类型的整数变量。方法是:
pdfReader.tag = indexPath.row;
switch (indexPath.row) {
case 0:
pdfReader.view = pdfReader.Chapter1;
break;
case 1:
//pdfReader.view = pdfReader.Chapter2;
break;
case 2:
//pdfReader.view = pdfReader.Chapter3;
break;
default:
break;
}
我唯一不确定的是,是否建议为每章准备一个视图,因为如果章节数增加,你可能会遇到内存条件。