addArrangedSubview против addSubview

Переменные внутри ' не заменяются в bash. Чтобы получить подстановку строк (или интерполяцию, если вы знакомы с perl), вам нужно будет изменить ее, чтобы использовать двойные кавычки " вместо одиночных кавычек:

$ # enclose entire expression in double quotes
$ sed "s/draw($prev_number;n_)/draw($number;n_)/g" file.txt > tmp

$ # or, concatenate strings with only variables inside double quotes
$ # this would restrict expansion to relevant portion
$ # and prevent accidental expansion for !, backticks, etc
$ sed 's/draw('"$prev_number"';n_)/draw('"$number"';n_)/g' file.txt > tmp

$ # variable cannot contain arbitrary characters
$ # see link in further reading section for details
$ a='foo 
bar'
$ echo 'baz' | sed 's/baz/'"$a"'/g'
sed: -e expression #1, char 9: unterminated `s' command

Дальнейшее чтение:

1
задан Mahdi Moqadasi 18 March 2019 в 13:16
поделиться

1 ответ

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

A UIStackView, как можно догадаться из его метода .addArrangedSubview(), организует свои подпредставления, основываясь на его .axis, .alignment, [ 114] и .spacing свойства, а также его frame.

Итак, прочитайте немного о UIStackView и о том, как его можно использовать. Скорее всего, вы в настоящее время ограничиваете свой пользовательский вид:

  • top
  • ведущий
  • трейлинг (или ширина)

Так добавление вашей кнопки в качестве arrangedSubView приводит к ее растяжению до ширины стека, потому что это значение по умолчанию.

Добавление его в качестве subview просто накладывает кнопку на представление стека, вместо того, чтобы позволить стековому представлению упорядочить его, и ваш вид стека, скорее всего, тогда будет иметь высоту ноль - поэтому кнопка не может быть нажата. 1121]

Попробуйте установить только верхние и ведущие ограничения , когда добавляете свой пользовательский вид стека. Это должно дать вам кнопку 44 x 44, которую можно нажать.

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

0
ответ дан DonMag 18 March 2019 в 13:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: