2

我不知道这个问题是否问过,但我仍在寻找答案。我正在使用 tableview 概念,我正在创建一个表格视图,就像一些菜单一样,如收件箱、发送、设置等。现在我想要的是我想要的在每个菜单中创建子菜单,例如,如果我单击收件箱,它应该为我要创建子菜单的每个主菜单显示新的、已回复的、已删除的等。使用数组,我们可以通过检查部分加载,但不使用数组我想直接创建一个值得注意的我使用自定义单元格的我还想根据菜单显示图像,如果它是收件箱我必须显示收件箱图像。任何人都可以帮助我吗?

    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 8;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 8;

}

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *cellidentifier=@"ViewProfileCell";

    MyHomeViewCell *cell= [[MyHomeViewCell alloc] init];

    cell=(MyHomeViewCell*)[tableView dequeueReusableCellWithIdentifier:cellidentifier];

    if(!cell)
    {
NSArray *nibofMyHomeCell=[[NSBundle mainBundle]loadNibNamed:@"MyHomeViewCell" owner:self options:Nil];
        cell=[nibofMyHomeCell objectAtIndex:0];


    }

    if(indexPath.section==0)
    {
        cell.MyHomeMenuLabel.text=@"Inbox";
    }



}
4

3 回答 3

1

这是一个很好的tuts它可以帮助你:

展开/折叠 TableView 部分

可扩展的 UITableView

Oliver Letterer的这个 github 很棒的代码。

于 2013-08-12T11:11:57.880 回答
1

您可以创建一个 UITableview,其中包含您所说的收件箱、发送、设置等单元格。

在您需要创建另一个 UITableView 之后,它将包含您的子菜单按钮或标签,例如单击收件箱时的新建、回复、删除。

同样,您将对主 UITableView 中的其余单元格进行处理。

并且不要混淆我将如何确定将调用哪个 tableview。

您将检查表视图名称,如下所示:

 if(tableView==main)
    {
    ///Code for main menu tableview.
    }
    else if(tableView==sub)
    {
    ////Code for submenu tableview. 
    }

您将在所有 UITableView 委托和数据源方法中执行此操作:

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
于 2013-08-12T11:05:18.237 回答
0

有很多方法可以做到这一点。例如,您可以将每个项目显示为部分标题,如果点击部分标题,则显示(或隐藏)该部分中的所有行。这些行是“子菜单”项(新的、已回复的、已删除的)。或者您可以为每个部分使用不同的部分以及如何或隐藏这些部分。或显示和隐藏行。这几乎都是通过更改节数和行数来控制的。

于 2013-08-12T11:04:49.163 回答