iOS - UITableViewCell покрывается UITabBar - PullRequest
0 голосов
/ 09 декабря 2011

Как показано на снимке экрана ниже, половина последнего UITableViewCell покрыта UITabBar:

enter image description here

Я хочу изменить отображение полного содержимого последнего UITableViewCell, как показано ниже, как я могу это сделать?

enter image description here

Спасибо

ОБНОВЛЕНО

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [shopSection count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [cc getShopSectionRow:@"hk.xml" sectionForRow:section];
}

- (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] autorelease];
    }

    [cc getShopList:cell withXMLFile:@"hk.xml" withIndexPathSection:indexPath.section withIndexPathRow:indexPath.row];

    return cell;
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {   
    return [cc getShopSectionTitle:section];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 50;
}

Ответы [ 3 ]

1 голос
/ 09 декабря 2011

Можно было бы использовать свойство enherit из UIScrollView

contentInset
Расстояние, на которое вид содержимого вставлен от окружающего вида прокрутки. @property (nonatomic) UIEdgeInsets contentInset
Обсуждение
Используйте это свойство, чтобы добавить в область прокрутки вокруг содержимого. Единица измерения - баллы. Значением по умолчанию является UIEdgeInsetsZero.

С этим свойством вы можете вставлять табличное представление по максимуму UITabBar.

OR

Вы можете изменить фрейм вашего UITableView, чтобы он не попадал под UITabBar

OR

Можете ли вы рассказать нам, как установлены UITableViewController и UITabBarController?
Там может быть проблема там.


Когда вы говорите under вы имеете в виду что-то вроде этого:

UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
UITableViewController *tt = [[TableTest alloc] initWithNibName:@"TableTest" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, tt, nil];

Чтобы разместить контроллеры UIView в вашем UITabBarController? Потому что я тестировал этот код, и он работает правильно.

потому что, если вы действительно имеете в виду под, например, ваш UITableViewController не находится в self.tabBarController.viewControllers и находится под таблицей, вам придется выбрать один из вариантов в моем исходном ответе.

0 голосов
/ 09 декабря 2011

Уменьшите высоту вашего TableView на 44 пункта. Допустим, вы создали программно созданный tableView в loadView, затем CGRectMake (0,0,320,460), затем измените высоту 460 на 416 или в XIB-файле Interface Builder. Уменьшите его на 44 балла. TabBar накладывается поверх вашего tableView, поэтому последняя панель кажется перекрытой tabbarcontroller.

0 голосов
/ 09 декабря 2011

Вы можете настроить высоту UITableView динамически, как обсуждалось в аналогичном вопросе: UITableView частично скрыт UITabBar .

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