0

我知道有与此类似的问题,但由于我的方法不同,我将继续询问。我有一个 tableview 控制器,我打算将其用作我的应用程序的登录表单。它应该由两部分组成;第一部分有两个表格单元;第一行是用户名文本字段,第二行是密码文本字段,第二部分将只有一行用作登录按钮。我已经能够实现用户名和密码部分,但由于第二行只有一行,所以实现它有点令人困惑。这是我的代码示例;

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

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

    cell.backgroundColor = [UIColor clearColor];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

}
if ([indexPath section] == 0)
{ // Email & Password Section
    if ([indexPath row] == 0)
    { // Email
        cell.textLabel.text = @"Username";

    }
    else
    {
        cell.textLabel.text = @"Password";
    }
}

if ([indexPath section] == 1)
{
    cell.textLabel.textAlignment = NSTextAlignmentCenter;
    cell.textLabel.text = @"Sign In to App";
}
return cell;

}

第二部分产生两行,它应该只有一个,请帮助谢谢。

4

3 回答 3

3

该函数- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section始终返回 2,因此每个部分将有两行。您应该将逻辑放入函数中以获取所需的行数。

于 2013-02-12T08:27:49.777 回答
2

请使用此代码 -

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (section==0) {
         return 2;
    }
    else
    {
         return 1;
    }  
}
于 2013-02-12T08:48:41.913 回答
0
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Foobar"];
    if (cell == nil) 
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Foobar"];

        cell.selectionStyle = UITableViewCellSelectionStyleBlue;
    }

    if (indexPath.row == 0 && indexPath.section == 0)
    {
        // create and add your userName TextFierld in cell.contentView;
    }
    if (indexPath.row == 1 && indexPath.section == 0)
    {
        // create and add your Password TextFierld in cell.contentView;
    }
    if (indexPath.row == 0 && indexPath.section == 1)
    {
        // create and add your Login UIButton in cell.contentView;
    }
}
于 2013-02-12T08:29:34.803 回答