几个TableView问题

时间:2011-08-16 23:06:20

标签: objective-c ios uitableview

我希望为iTunes iPhone应用搜索界面创建一个类似的界面。我有几个问题似乎无法找到答案:

以下是iTunes iPhone应用搜索界面的图片:

image

  • 如何创建tableView部分字幕,例如Tap to Preview, Double-Tap to View info部分标题下的Top Hits
  • 如何创建价格按钮才能正确浮动?这是本地完成还是使用自定义UIView?
  • 最后,我如何区分任何表视图单元格上的单击和双击?

3 个答案:

答案 0 :(得分:1)

您需要创建自定义UITableViewCell here's a tutorial。用于价格按钮和单元格的其他视觉效果。

对于Tap to Preview副标题,您可以创建自定义标题视图,请参阅:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

最有可能的是,您需要为此视图创建2 UILabels,显然您需要匹配此处使用的字体。

示例

- (UIView *) tableview:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];  

    UILabel * label = [[UILabel alloc] initWithFrame:CGRectZero];
    label.text = @"Top Hits";
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont boldSystemFontOfSize:17];
    [headerView addSubview:label];

    UILabel * label2 = [[UILabel alloc] initWithFrame:CGRectZero];
    label2.text = @"Tap to Preview, Blah blah blah";
    label2.backgroundColor = [UIColor clearColor];
    label2.font = [UIFont fontWithName:@"Apple's Default Font?" size:17];
    [headerView addSubview:label2];

    /*  something like this  */
    return headerView;
}
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 50.0f;
}

答案 1 :(得分:0)

您的大多数问题都可以在Apple的Table View Programming Guide for iOS中得到很好的解决。以下是一些简短的答案:

  1. 您可以将某个部分的标题设为UIView,在这种情况下,您可以使用多个UILabel来创建带字幕的标题等。

  2. 这可能设置为accessoryView的{​​{1}},或者它可能是UITableViewCell的完全自定义子类。

  3. 为此,您需要实施UITableViewCell方法UITableViewDelegate。有关自定义此方法的更多信息(例如,要区分单个和多个分类),请查看上述教程的Managing Selections部分。

答案 2 :(得分:0)

1 - 对于Custom标头 您可以使用表视图数据源方法 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

然后您可以使用所有标签以编程方式创建视图 或者您可以在xib中创建一个单独的视图,在viewcontroller中创建它的实例并在上面的数据源方法中返回该实例 - 这种方法将更容易和更简单。

2-您可以使用uibutton并将其设置为背景图像来实现价格按钮 在自定义表格视图单元格中。您可以根据自己的功能隐藏/取消隐藏此按钮。

3-我建议你禁用tableview选择并将tap手势识别器添加到自定义表格视图单元格。这会给你更多的灵活性

希望这可以帮到你