Получение rowHeight из выбранного NSIndexPath - PullRequest
0 голосов
/ 11 июня 2011

Есть ли способ получить высоту для строки из выбранного NSIndexPath?Я не хочу устанавливать высоту строки с помощью методов делегата, но если у меня была таблица с разной высотой строки, и я хотел получить высоту строки, к которой пользователь прикоснулся (или в моем случае сузился), как мне это сделать?тот?Я думал, что это будет работать, но это не так.

- (CGFloat)heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath && indexPath.section != NSNotFound && indexPath.row != NSNotFound) {
        //NSUInteger rowTouched = [indexPath row];
        //NSLog(@"%@", rowTouched);
        //NSLog(@"%@", [indexPath description]);
        return indexPath.accessibilityFrame.size.height;
    }
    else {
        return 0;
    }
}

Когда я печатаю indexPath.accessibilityFrame.size.height, я получаю ноль.Я попытался получить строку с помощью NSLog () в строку, но получаю сбой EXC_BAD_ACCESS, который я не знаю почему.Когда я печатаю описание indexPath, я получаю память, где это находится, а затем [0,9].Какие-нибудь мысли?Спасибо.

Ответы [ 2 ]

2 голосов
/ 11 июня 2011

NSIndexPath не имеет свойства accessibilityFrame, поскольку оно не является UIView объектом. Путь индекса и ячейка не одно и то же, даже если они связаны между собой. Вы, вероятно, должны получить cell, используя cellForRowAtIndexPath: метод UITableView, а затем передать его высоту кадра.

1 голос
/ 11 июня 2011

Что вы пытаетесь решить здесь?

Это не так, как это работает - вам нужно реализовать метод делегата, чтобы сообщить платформе о высоте ваших ячеек.Вот как вы это получаете.Если вам понадобится высота позже где-либо еще, не стесняйтесь сами вызывать этот метод.

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