Обрезка внутри UIView с некоторыми подвидами
-
21-08-2019 - |
Вопрос
У меня есть несколько кнопок в UIView.Моя проблема в том, что они обрезаются в правой части пользовательского интерфейса.Как мне предотвратить это?
альтернативный текст http://img.skitch.com/20090629-mj32p1bkff476256pwrpt69n2d.png
Я уже проверил свойство clip для разработчиков интерфейса, но это не так решение этой проблемы.
С уважением
Решение 3
Кендалл, спасибо за твой ответ.
Вот мое решение:
if(previousFrame.origin.x + theStringSize.width > 220){
roundedButton.frame = CGRectMake(15, previousFrame.origin.y + 30 , theStringSize.width + 8, theStringSize.height);
[myContainer insertSubview:roundedButton belowSubview:[tagsContainer.subviews lastObject]];
}else {
roundedButton.frame = CGRectMake(previousFrame.origin.x + previousFrame.size.width + 5, previousFrame.origin.y, theStringSize.width + 5, theStringSize.height);
[myContainer insertSubview:roundedButton belowSubview:[tagsContainer.subviews lastObject]];
}
Я подсчитываю, на сколько пикселей я переместился с левой стороны.При некотором пороге (в моем случае 220) я начинаю новую строку.
Другие советы
Похоже, что либо вы создали эти кнопки программно, либо вы изменили размер начального окна просмотра IB, сделав его больше, и ожидали, что оно уменьшится до размера экрана.
Кнопки, о которых идет речь, не могут поместиться на экране в нынешнем виде - какой эффект вы ищете?
Если вы хотите, чтобы все кнопки поместились, вы могли бы уменьшить размер текста, и тогда они могли бы поместиться.
Если вы хотите, чтобы кнопки были такого размера, как они есть, вам придется создать еще один ряд или поместить кнопки в контейнер с боковой прокруткой.
Я использую java и только недавно начал изучать фреймворк Apple Obj-C.
Альтернативой прокрутке и разбивке строк является использование макета "сетка" с 1 строкой и n столбцами, где n - количество кнопок.Каждая ячейка имеет фиксированный размер.И вам нужно будет изменить размер ваших кнопок (вложенных представлений) в setNeedsLayout вашего супервизора:используйте метод любой ширины, который вам нужен, чтобы все кнопки помещались в строку.
Смотрите класс GridLayout в Java.