Вопрос

У меня есть несколько кнопок в 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top