我有一个带有带有imageview的原型单元的tableview和两个标签。我希望能够选择其中一个单元格并根据选择转到另一个tableview。
E.g。第一个是动物的图片,它的名称和它下面的简要描述。 (图片:狗,标题:狗,描述:勒芒最好的朋友)。第二是品种。
答案 0 :(得分:2)
在故事板中,您将点击控制并选择原型单元格,然后拖动到您将用户带到的另一个视图控制器。给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;
}
不确定如何添加其他类别,并根据所选行显示不同的数组