Сериализация пар ключ / значение в Джексоне?

У меня есть класс

class Foo {
  String key;
  String value;
}

, и я хочу сериализовать его в " ":" " m пытается программно создать настраиваемый контроллер представления с подпредставлениями, которые располагаются в центре экрана. Мне это удалось, и когда я перехожу к этому представлению, центрированное представление появляется в центре, и ...

Я пытаюсь программно создать пользовательский контроллер представления с подчиненными представлениями, которые располагаются в центре экрана. Мне это удалось, и когда я перехожу к этому представлению, центрированный вид появляется в центре и правильно вращается при повороте устройства.

Но в этом приложении навигации, если я перехожу в пользовательский вид, когда не в портретном режиме, тогда вид, который должен быть центрирован, позиционирует себя в месте, которое не является центром экрана. Я установил все необходимые свойства автоизменения размеров для представлений, контроллера, родителя, бабушки, святой девственницы ... и я ' у меня кончились вещи, на которые можно было бы приклеить маску автоизменения, и все равно пример выглядит плохо.

Я уверен, что мне не хватает вызова какого-то магического метода, который все исправит, но я не понял, что вызывать или где (setNeedsDisplay? setNeedsLayout?). Чтобы продемонстрировать эту проблему, я создал полный пример, доступный по адресу https://github.com/gradha/iPhone-centered-rotation-test , который вы можете клонировать и запускать в симуляторе или устройстве. Я создал это из контроллера навигации Apple, просто добавив поддельную ячейку, которая подталкивает представление, которое я создаю вручную.

Пользовательское представление можно найти на https://github.com/gradha/iPhone-centered-rotation- test / blob / master / Classes / CenteredViewController.m и вот метод loadView, отвечающий за создание центрированных подпредставлений:

/* Try to force the parent view to be as we want it. */
self.view.backgroundColor = [UIColor yellowColor];
self.view.autoresizesSubviews = YES;
self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight |
    UIViewAutoresizingFlexibleWidth;

/* Top left blue square, for reference. */
blue_ = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 130, 130)];
[self.view addSubview:blue_];
blue_.backgroundColor = [UIColor blueColor];
[blue_ release];

/* Create red centered rectangle. */
red_ = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
red_.backgroundColor = [UIColor redColor];
red_.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin |
    UIViewAutoresizingFlexibleTopMargin |
    UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin;
red_.center = self.view.center;
[self.view addSubview:red_];
[red_ release];

Здесь ' sa ссылка на пошаговое руководство по захвату экрана приложения , сначала вход в портретный режим и поворот экрана (работает нормально), затем вход в альбомный режим и поворот (в зависимости от стороны поворота это выглядит довольно плохо). Когда вы входите в вид в альбомном режиме, в зависимости от ориентации красный квадрат будет иметь верхний левый угол размером 196x34 или 140x34, что слишком большая разница.

Что мне не хватает, чтобы правильно центрировать эти подвиды при входе вид в альбомном режиме и автоповорот?

5
задан Grzegorz Adam Hankiewicz 25 March 2011 в 10:10
поделиться