UITableView Случайная белая линия в нижнем колонтитуле раздела при возврате нижнего колонтитула правильного размера - PullRequest
1 голос
/ 08 августа 2010

У меня есть UITableView внутри представления, созданного из NIB. таблица имеет один раздел, содержащий 6 строк и 1 нижний колонтитул. когда я использую:

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return 80;
}

чтобы возвратить высоту нижнего колонтитула, который загружается из того же NIB. UITableViewCell в кончике имеет высоту 80. UITableViewCell назначаются с помощью этого кода:

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

if (indexPath.section == 0) { if (indexPath.row == 0) { вернуть companyCell; }

if (indexPath.row == 1) { return firstNameCell; } if (indexPath.row == 2) { return lastNameCell; } if (indexPath.row == 3) { вернуть emailCell; } if (indexPath.row == 4) { вернуть парольCell; } if (indexPath.row == 5) { вернуть парольConfirmCell; } }

return passwordConfirmCell;
}

я вижу белую линию внизу таблицы, как на картинке http://swnsn.com/white.png

если я верну высоту нижнего колонтитула 79 или 81, белая линия исчезнет, ​​а UITableViewCell масштабируется до ширины окна

есть мысли?

Ответы [ 2 ]

3 голосов
/ 10 августа 2010

Я понял это !!Я передавал экземпляр UITableViewCell в нижний колонтитул.я обновил свой код, чтобы передать только UIView и проблема была решена!

1 голос
/ 08 августа 2010

Вы пробовали больше подобных манипуляций со строками в плане высоты?

- (CGFloat)tableView:(UITableView *) theTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

NSUInteger row = [indexPath row];
Question *question = [self.questions objectAtIndex:row];
NSString *theText = question.description;
UIFont *font = [UIFont fontWithName:@"Helvetica" size:14.0]; // You can choose a different font ofcourse.
int heightExtra = 0;
if (selectedIndexSegment == 0){
    heightExtra = 54;       
}       
if (selectedIndexSegment == 1) {        
    heightExtra = 24;
}   

CGSize withinsize = CGSizeMake(theTableView.frame.size.width -60, 1000); //1000 is  just a large number. could be 500 as well
// You can choose a different Wrap Mode of your choice
CGSize sz = [theText sizeWithFont:font constrainedToSize:withinsize      lineBreakMode:UILineBreakModeWordWrap];
    return sz.height + heightExtra; // padding space of 20 should be fine!
}

А также как насчет

self.tableView.separatorColor = [UIColor clearColor];   

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...