Есть ли способ, чтобы кнопка Facebook отображалась правильно в UITableView? - PullRequest
1 голос
/ 25 февраля 2010

Я пытаюсь заставить функциональность Facebook Connect работать в моем приложении для iPhone. Мне интересно, как правильно расположить кнопку в моем UITableView:

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

    if (indexPath.section == 0){
        if (indexPath.row == 0){

        }
    }
    if (indexPath.section == 1){
        if (indexPath.row == 0){
            cell.textLabel.text = @"Connect with Facebook";
            cell.accessoryView = login;

        }
    }

    return cell;

Я пытался использовать accessoryView, но получается так: alt text

Также кнопка появляется только тогда, когда я нажимаю на ячейку.

Пожалуйста, помогите, если можете!

Спасибо.

Ответы [ 3 ]

1 голос
/ 26 февраля 2010

IMHO, самый простой способ создать макет в основном статического UITableView - это использовать InterfaceBuilder.

0 голосов
/ 20 апреля 2010

Я только что столкнулся с той же самой проблемой. Рабочий код у меня выглядит так:

FBLoginButton* fbbutton = [[FBLoginButton alloc] initWithFrame:CGRectMake(cellwidth - 30.0 - 10.0,
                                                                          (cellheight - 30.0) / 2.0,
                                                                          90.0, 30.0)];
fbbutton.style = FBLoginButtonStyleNormal;
fbbutton.session = session;

cell.accessoryView = fbbutton;
cell.textLabel.text = @"Facebook";
[fbbutton release];

(Очевидно, я использовал константы, а не жестко кодировал размер кнопки Facebook.)

Два ключевых бита для размещения кнопки - установка рамки и добавление кнопки в AccessoryView. (Добавление его в contentView также может работать, хотя может потребоваться добавить заголовок вручную.)

Что касается кнопки, которая появляется только при нажатии кнопки, мне удалось это исправить, явно задав стиль кнопки. Я полагаю, что это ошибка в библиотеке Facebook Connect.

0 голосов
/ 26 февраля 2010

accessoryView определенно будет отображаться справа, поскольку «аксессуар» обычно относится к маленьким виджетам стрелок растяжки справа от ячеек таблицы, которые открывают новые страницы и т. Д.

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

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