2014-09-10 4 views
0

Я надеялся, что это ошибка iOS 8 (все равно может быть, все отлично работает в iOS 7), но я все еще вижу это в iOS 8 GM Seed.Встраиваемый .xib появляется в неправильном положении

У меня есть CategoriesView.xib, встроенный в DetailView.xib. Когда отображается DetailView.xib, местозаполнитель UIView отображается в нужном месте, но содержимое CategoriesView.xib отображается ровно на 72 пикселя выше, где они должны. Я использую Autolayout. 72px, кажется, 20px строка состояния + 44px панель навигации + 8px автоматическое ограничение размещения с верхней части изображения.

enter image description here

Внутри CategoriesView.xib, есть на самом деле 5 маленьких значков, представляющих каждую возможную категорию. Каждый значок имеет ограничение ширины/высоты и ведущее ограничение пространства для добавления отступов соседа. Как правило, экран будет показывать только 1-2 категорий, и выполнить это с помощью этого кода:

// all width constraints are part of the categoryViewsWidthConstraints Outlet Collection 
// all padding constraints are part of the categoryViewsSpacingConstraints Outlet Collection 

// loop through my outlet collection, and set all width and padding constraints to 0 
for (int i = 0; i < self.categoryViewsWidthConstraints.count; i++) { 
    [self.categoryViewsWidthConstraints[i] setConstant:0.0]; 
    [self.categoryViewsSpacingConstraints[i] setConstant:0.0]; 
} 

// now, for the categories that need to show, add the width and padding constraints back 
for (int i = 0; i < self.categoryIds.count; i++) { 
    NSNumber *categoryId = self.categoryIds [i]; 
    [self.categoryViewsWidthConstraints[categoryId.integerValue - 1] setConstant:20.0]; 
    [self.categoryViewsSpacingConstraints[categoryId.integerValue - 1] setConstant:8.0]; 
} 

Опять же, это прекрасно работает в прошивке 7.

Я думал, что это работает, когда внутри CategoriesView. м, я установил:

self.contentView.translatesAutoResizingMaskintoConstraints = true. 

это дает мне правильное вертикальное размещение я после, но, к сожалению, я получаю ошибки Автокомпоновка, потому что думает, что CategoriesView должно быть точно 132px в ширину. Из-за этого, значок последней категории получает растягиваются:

enter image description here

Я в недоумении здесь. Я знаю, что это довольно тонко, но какие-то идеи?

ответ

0

Я пробовал все, что мог придумать, и просто не мог заставить это работать.

Мое решение? Я просто создал совершенно новый файл и восстановил все элементы и все ограничения. И это сработало отлично.

Так неудобно, но все, наконец, возвращается к нормальной жизни. Я думаю, что это как-то связано с переходом от Xcode 5 к Xcode 6.

Смежные вопросы