Как я могу расположить элемент у основания его контейнера в Firefox?

Когда я увидел этот вопрос, я реализовал эту идею в своем текущем проекте, и она сработала, спасибо за это. Так что идея сделать это, есть пользовательская кнопка назад. Я мог бы опубликовать весь код к этому, но это сделало бы это кормлением с ложечки. В любом случае, здесь идут шаги:

Сделайте UIButton и сделайте его своей собственной кнопкой возврата UIBarButtonItem в панели навигации вашего контроллера навигации, если вы когда-либо используете ее.

Селектор был бы, очевидно, таким, не обращайте внимания на код внутри, потому что он взят из моего проекта, но вы поняли:

func back() {
        if let navCon = self.navigationController {
            navCon.popViewController(animated: true)
        }
  }

И для двойного нажатия, для этого вам понадобится TapGesture. У меня есть этот объявлен так:

private lazy var doubleTapGesture: UITapGestureRecognizer = {
    let gesture = UITapGestureRecognizer(target: self, action: #selector(self.doubleTap))
    gesture.numberOfTapsRequired = 2
    return gesture
}()

и добавить это к вашей кнопке. Селектор будет выглядеть так:

@objc private func doubleTap() {
        self.navigationController?.popToRootViewController(animated: true)
}

VOILA! Работает плавно. Легко, правда? Надеюсь, это поможет!

10
задан Community 23 May 2017 в 12:13
поделиться

7 ответов

Посмотрите, работает ли это на Вас. Не уверенный в точном ature проблемы, но это имеет некоторое отношение к использованию td с относительным расположением. Я перенес таблицу с тегом Div и расположил это относительно, и это, кажется, делает то, что Вы хотите.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Test</title>
        <style type="text/css">
        table { width:500px;  }
        th, td { vertical-align: top; border:1px solid black; }
        th { width:100px; }
        div.body {position:relative; width:500px;}
        .manage { text-align:right; position:absolute; bottom:0; right:0; display:block}
        </style>
    </head>
    <body >
    <div class="body"><table>
        <tr>
                <th>Some info about the following thing and this is actually going to span a few lines</th>
                <td><p>A short blurb</p><div class="manage">Edit | Delete</div></td>
        </tr>
    </table></div>
    </body>
</html>
1
ответ дан 4 December 2019 в 01:58
поделиться

position: relative по-видимому, глобально не поддерживается для td тег. Я не мог найти категорические источники, к сожалению.

Вы могли бы хотеть поместить a div блок в td с желаемым размером и применяются position: relative к этому вместо этого.

0
ответ дан 4 December 2019 в 01:58
поделиться

Согласно W3C, position:relative не имеет никакого эффекта на ячейки таблицы:

"Эффект 'position:relative' на группе строки таблицы, группе заголовка таблицы, table-footer-group, строке таблицы, группе столбцов таблицы, столбце таблицы, ячейке таблицы и элементах подписи таблицы не определен".

Решение состоит в том, чтобы добавить дополнительное отделение обертывания к ячейке таблицы.

Править: Это отделение требует a height:100% и position:relative; быть установленным.

<table>
    <tr>
        <td>
            <div style="position:relative;height:100%;">
                Normal inline content.
                <div class="manage">your absolute-positioned content</div>
            </div>
        </td>
    </tr>
</table>
7
ответ дан 4 December 2019 в 01:58
поделиться

Это может звучать действительно очевидным, но иметь Вас, пытался использовать vertical-align: bottom; в .manage?

0
ответ дан 4 December 2019 в 01:58
поделиться

имейте DIV в TD с шириной: 100% и высота: 100%, затем устанавливает это на положение: родственник.

0
ответ дан 4 December 2019 в 01:58
поделиться

Право, position:relative не имеет никакого эффекта для элементов таблицы, и Firefox применяет это правило. Решение работ отделения, но это - ужасная разметка, по-моему.

Необходимо ли абсолютно использовать таблицу для отображения этого содержания? (Или действительно ли это относительно?)

В противном случае, почему Вы не используете элементы отделения и делаете то, что Вы хотите?

Использовать таблицы для проблем расположения таким образом 1998...

0
ответ дан 4 December 2019 в 01:58
поделиться

Поместите display: block на стол, и теперь FF учитывает позицию: relative.

1
ответ дан 4 December 2019 в 01:58
поделиться