在tableview原型单元格中显示其他数据,这取决于前一个tableview原型单元格中的标签

时间:2014-03-21 19:30:57

标签: ios objective-c xcode uitableview

我有一个带有带有imageview的原型单元的tableview和两个标签。我希望能够选择其中一个单元格并根据选择转到另一个tableview。

E.g。第一个是动物的图片,它的名称和它下面的简要描述。 (图片:狗,标题:狗,描述:勒芒最好的朋友)。第二是品种。

3 个答案:

答案 0 :(得分:2)

你尝试过segue吗?如果您在项目中使用故事板,这是您完成任务的最简单方法。看一下这个文档:Interface Builder Help - Adding a Segue to a Storyboard

在故事板中,您将点击控制并选择原型单元格,然后拖动到您将用户带到的另一个视图控制器。给segue一个名字,然后你可以通过在prepareForSegue:sender:中传递数据来传递数据,当然首先检查标识符。

但是,如果您没有使用storyboard,可以通过在控制器中实现tableView:didSelectRowAtIndexPath :(请参阅UITableViewDelegate)以旧方式来实现。检查选择了哪个单元格,然后分配并初始化目标视图控制器,并将其推送到视图堆栈。

没有任何代码或细节,这就是我的建议。

答案 1 :(得分:0)

代码如下所示,显示了tab2viewcontroller.m(tableviewcontroller)的项目数组。这是tableview 1.然后我想在tableview 2中显示每个主题的子类别,我称之为tab2categoriesviewcontroller

[super viewDidLoad];


_tab2Title = @[@"Benefits of an active lifestyle",@"Influences on active lifestyles",
@"Exercise and fitness",@"Physical activity",@"Personal health",@"The mind and body",
@"The cardiovascular system",@"The respiratory system",@"The muscular system",
@"The skeletal system"];

我是否需要为tab2categoriesviewcontroller.h中的每个类别创建一个数组,例如

_benefit = @[@"The three categories of healthy active lifestyles", @"Benefits of taking part in physical activity"];
_influences = @[@"etc....

然后在tab2categoriescell.h中为标签创建一个IBOutlet,并在第二个tableview原型单元格上放置一个标签,并将其命名为categories

如果上述内容正确,我就会陷入困境......

我是否对segue使用if语句?这有可能吗?我把它放在viewdidload的{​​{1}}中吗?我是否需要将tab2categoriesviewcontroller.m导入tab2viewcontroller.h?例如tab2categoriesviewcontroller.h

我知道这最后一节是完全错误的,但正如我所说,我是一个新秀,我需要帮助

答案 2 :(得分:0)

我已设法推送到下一个tableview,但这仅适用于一组子类别,无论我选择哪个单元格,它们都会显示。我的代码如下:

[super viewDidLoad];

_category = @[@"Physical, mental & social wellbeing",
              @"Benefits of participation in physical activity",
              @"Reasons for participation in physical activity"];

.
.
.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return _category.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"categoryTableCell";
Tab2CategoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

long row = [indexPath row];

cell.categoryLabel.text = _category[row];

return cell;
}

不确定如何添加其他类别,并根据所选行显示不同的数组