UItable视图不会滚动我要使用的第一行,如标题,我已经有节标题

时间:2012-05-31 05:07:48

标签: iphone ios ios4 ios5

如何在iPhone SDK中将UITableview的第一行设为静态(非滚动)?像第一行一样是静态的。

现在第一行是我的标题,我想它需要是静态意味着没有可滚动? 我已经有节标题,因为我有行数。

3 个答案:

答案 0 :(得分:2)

只需制作2个表格视图 - 一个在您的视图顶部,具有不可滚动的单元格,第二个 - 在第一个表格视图下。

答案 1 :(得分:1)

在下面的代码中,我创建了一个标题部分的视图,并添加了标签和按钮..

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    // create the parent view that will hold header Label
    if (customView == nil) {
        customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 44.0)] ;
        // create the button object
        headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];

        headerLabel.backgroundColor = [UIColor clearColor];
        headerLabel.opaque = NO;
        headerLabel.textColor = [UIColor blackColor];
        headerLabel.highlightedTextColor = [UIColor whiteColor];
        headerLabel.font = [UIFont boldSystemFontOfSize:20];
        headerLabel.frame = CGRectMake(10.0, 0.0, 300.0, 44.0);

        // If you want to align the header text as centered
        // headerLabel.frame = CGRectMake(150.0, 0.0, 300.0, 44.0);

        headerLabel.text = [NSString stringWithFormat:@"Child: Name"];

        [customView addSubview:headerLabel];  

        UIButton *aReportButton = [UIButton buttonWithType:UIButtonTypeCustom];
        aReportButton.frame = CGRectMake(270, 3, 38, 38);
        [aReportButton setImage:[UIImage imageNamed:@"pdf_document.png"] forState:UIControlStateNormal];
        [aReportButton addTarget:self action:@selector(createPDF:) forControlEvents:UIControlEventTouchUpInside];
        [customView addSubview:aReportButton];
        aVoiceRecordingButton = [UIButton buttonWithType:UIButtonTypeCustom];
        aVoiceRecordingButton.frame = CGRectMake(220, 3, 38, 38);
        [aVoiceRecordingButton setImage:[UIImage imageNamed:@"microphone_document.png"] forState:UIControlStateNormal];
        [aVoiceRecordingButton addTarget:self action:@selector(alertBeforeRecord:) forControlEvents:UIControlEventTouchUpInside];

        [customView addSubview:aVoiceRecordingButton];
    }

    return customView;
}

- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 44.0;
}

在你的情况下,你必须增加你的表格标题高度,以包括你的节标题和你的第一个UITableViewCell内容的内容..希望这有帮助..

答案 2 :(得分:0)

需要为第一个tableviewCell采用自定义视图并在Header sectionView中添加子视图 在

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

在标题视图正下方设置自定义视图框 并且为标题视图正确设置了cliptobound NO。 之后,在标题视图中添加子视图自定义视图。

希望这有助于。