Невозможно изменить размер UIView в IB

Возможно, что-то простое, но я не могу понять, почему я не могу изменить размер UIView в xib в Интерфейсном Разработчике.

Я создал новый вид XIB в xcode, а в инспекторе размеров ширина и высота отключены и выделены серым цветом до 320 на 460. Это странно, поскольку я могу изменить размер для двух других представлений (связанных с двумя другими панелями вкладок Предметы).

Я не уверен, имеет ли это какое-либо отношение, но я недавно обновил SDK до 3.

Спасибо!

Ответы на вопрос(8)

у меня похожая проблема. Я удалил все представления из xib-файла и повторно добавил представление. Установите в строке состояния значение «не указано». так что строка состояния не предназначена для. Представление, когда оно добавлено, создается с x = 0, y = 0, w = 320 h = 460 вместо (0,0 320,480), как я и ожидал. После изменения высоты до 480 и соединения ее с владельцем файла и изменения цвета, чтобы сделать его отличительным по отношению к фону. Я считаю, что между верхней частью экрана и видом была белая полоса. Я дополнил свой код:

#define RECTLOG(rect)    (NSLog(@""  #rect @" x:%f y:%f w:%f h:%f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height ));

в пределах viewDidLoad

- (void)viewDidLoad {
    [super viewDidLoad];
    RECTLOG(self.view.frame);
}

Оказывается, что представление, такое как оно загружено из IB, фактически (0, 20, 320, 480). В качестве обходного пути я сбрасываю фрейм представления с помощью self.view.frame = CGRectMake (0, 0, 320, 480);

Я использую IB 3.2.5

Мне бы очень хотелось узнать, как это исправить.

 10 авг. 2012 г., 05:14
Это был отличный FYI, я проверил это, и вы можете получить строковое значение из CGPoint и CGSize! очень готовлю, спасибо.
 14 июл. 2011 г., 20:14
К вашему сведению, вы можете использовать NSStringFromCGRect (rect), чтобы получить печатную строку, представляющую CGRect.

iOS 5.0.1, имитируемые метрики по умолчанию включают в себя имитацию «размера». атрибут UIViewControllers для «Inferred»

Если вы измените этот атрибут на «Свободная форма» тогда вы сможете изменить размер UIView, содержащийся в UIViewController, одновременно симулируя строку состояния (или любую другую симуляцию по этому вопросу)

 30 июн. 2013 г., 17:56
По умолчанию для атрибута размера установлено значение «Retina 4 Full screen», но его значение изменилось на «Свободная форма». еще работает.

что UIView, автоматически создаваемый при создании XIB-файла, не может быть изменен с помощью панели размеров или ручек краев.

Все, что я сделал, это добавил еще один UIView и перетащил все из моего старого UIView в новый, а затем удалил старый.

Это решило проблему для меня, но да, я думаю, что есть основная проблема со сборщиком интерфейсов, которую Apple должна решить (кто-то исправит меня, если я ошибаюсь).

Я использую встроенный Интерфейсный Разработчик XCode 4.

перейдите на первую панель (или нажмите команду -1) и затем измените поля с пометкой «Строка состояния», «Верхняя панель» и «Нижняя панель» на «Нет» в разделе «Элементы симулированного пользовательского интерфейса». Возможно, вам придется нажать на маленький треугольник, чтобы сделать их видимыми.

что вы не можете редактировать размер при моделировании любых элементов пользовательского интерфейса, таких как строка состояния в Интерфейсном Разработчике. Вы можете попробовать отключить моделируемые элементы, если они включены. Не совсем уверен, почему это так, поэтому был бы признателен за отзывы от любого, кто знает, почему именно это - должна быть веская причина.

 09 июл. 2012 г., 10:26
Очень полезно. Просто выключите строку состояния, настройте размер и снова включите строку состояния.
 16 февр. 2012 г., 15:16
Как в Xcode 4.2, iOS 5.0.1 это изменилось. Мой ответ ниже объясняет, как этого можно достичь.
 06 июл. 2009 г., 17:49
Спасибо, что это правильно. После обновления xcode и IB строка состояния была включена по умолчанию. У других есть это в выключенном состоянии.
 04 мар. 2011 г., 14:41
+1 вам обоим .. !!
 18 авг. 2012 г., 15:49
Этот параметр работал для ViewController.xib в Xcode 4.3.3: & quot; Имитированные метрики - размер: произвольная форма & quot ;. После этого настройка размера просмотра включена. Также удалите & quot; Режим просмотра & quot; опция масштабирования для заполнения (чуть ниже моделируемых метрик).

откройте xib с вашим любимым текстовым редактором и отредактируйте эту строку

        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CompassViewController">

CompassViewController это имя вашего класса, с которым вы пытаетесь связать свой nib / xib.

Просто отредактируйте свое имя класса с правильным именем класса, и все готово;)

которую вы ищете, находится на первой панели инспектора (Command-1). Справа вверху есть раздел с надписью Имитированные элементы интерфейса пользователя. По умолчанию строка состояния включена. Вы должны убедиться, что все три установлены на Нет.

 04 июн. 2010 г., 12:39
+1 Это сводит меня с ума! Спасибо!
 18 авг. 2009 г., 17:49
Спасибо, эти ответы просто сэкономили мне массу времени! Кто-нибудь знает, почему IB это делает?
 17 авг. 2010 г., 03:14
Обратите внимание, что теперь это так: & quot; Не указано & quot; вместо ни одного. (У меня версия 3.2.3)
 18 июл. 2010 г., 15:46
Спасибо друг. Я искал это.
 20 сент. 2011 г., 14:56
Я подтверждаю, что для iPad это «Не указано», спасибо, Томас Мон, вы сэкономили мне несколько часов: D

вам нужно сделать скриншот ниже:

Under 'File Inspector' -> untick Use Auto Layout Click on Attributes Selector & Choose Freeform for Size

Это необходимо при создании headerView для tableView

enter image description here

Ваш ответ на вопрос