Как добавить представление UIViewController как подпредставление

Путем я думаю об этой проблеме, то, что в конечном счете Вы пытаетесь оптимизировать свою среднюю скорость от Вашей начальной точки до Вашей конечной точки. В частности, Вы не заботитесь вообще об общем расстоянии, путешествовавшем, если движение [хорошо] из Вашего пути экономит время. Так, базовая деталь пространства решения испытывает необходимость для идентификации эффективных маршрутов, доступных, которые покрывают нетривиальные части общего расстояния в относительно высоких скоростях между запуском и концом.

К Вашей исходной точке, типичные автомобильные алгоритмы маршрута, используемые единицами навигации GPS для совершения поездки на машине, являются пользой, направляющейся в течение целевого оптимального общего времени и оценок оптимального маршрута. Другими словами, Ваше основанное на шине прохождение сделало бы действительно хороший для приближения к основанному на автомобиле решению. Очевидно, шина основанная на маршруте система будет иметь намного больше ограничений, чем основанные на автомобиле решения, но имеет автомобильное решение, поскольку ссылка (время и расстояние) дает алгоритму шины платформу для оптимизации against*. Так, помещенный свободно, Вы хотите превратить автомобильное решение к набору возможных решений для шины повторяющимся способом или возможно более вероятно взять возможные решения для шины и выиграть их против Вашего основанного на автомобиле решения знать, делаете ли Вы "хорошее" или нет.

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

, После того как у Вас есть ряд возможного главного сегмента (сегментов), доступного как возможные ответы в решении, затем необходимо сцепить их вместе с другими возможными путями обхода и ожидания.... или если достаточно далеко друг от друга рекурсивный выбор дополнительной короткой шины работает. Интуитивно, не кажется, что там действительно будет препятствующим набором выбора здесь из-за эти Ограничения Paradox (см. сноску ниже). Даже если Вы не можете грубая сила все возможные комбинации оттуда, что остается, должен смочь быть оптимизированным с помощью моделируемый отжиг (SA) алгоритм типа. Метод Монте-Карло был бы другой опцией.

способ, которым мы сломали проблему к этой точке, оставляет нас чем-то, что вполне походит, как алгоритмы SA применяются к автоматизированному расположению и маршрутизации микросхем ASIC, FPGA и также размещение и маршрутизация печатных плат, из которых существуют довольно мало опубликованная работа при оптимизации того типа проблемной формы.

* Примечание: Я обычно называю это "Ограничениями Paradox" - мой термин. В то время как люди могут естественно думать о более ограниченных проблемах как тяжелее для решения, ограничения уменьшают выбор, и меньше вариантов значит легче для грубой силы. Когда Вы можете грубая сила, затем даже оптимальное решение доступно.

75
задан meaning-matters 13 January 2016 в 15:58
поделиться

2 ответа

Change the frame size of viewcontroller.view.frame, and then add to subview. [viewcontrollerparent.view addSubview:viewcontroller.view]

1
ответ дан 24 November 2019 в 11:33
поделиться

Этот ответ верен для старых версий iOS, но теперь устарел. Вам следует использовать ответ Микки Дункана, который касается пользовательских контейнеров.

Не делайте этого! Назначение UIViewController - управлять всем экраном. Это просто не подходит для этого и не добавляет ничего, что вам нужно.

Все, что вам нужно, это объект, которому принадлежит ваше пользовательское представление. Просто используйте подкласс самого UIView , так что его можно добавить в вашу иерархию окон, а управление памятью будет полностью автоматическим.

Укажите владельцу NIB подсистемы пользовательский подкласс UIView . Добавьте выход contentView к этому настраиваемому подклассу и укажите его в представлении внутри пера. В пользовательском подклассе сделайте что-то вроде этого:

- (id)initWithFrame: (CGRect)inFrame;
{
    if ( (self = [super initWithFrame: inFrame]) ) {
        [[NSBundle mainBundle] loadNibNamed: @"NibNameHere"
                                      owner: self
                                    options: nil];
        contentView.size = inFrame.size;
        // do extra loading here
        [self addSubview: contentView];
    }
    return self;
}

- (void)dealloc;
{
    self.contentView = nil;
    // additional release here
    [super dealloc];
}

(я предполагаю, что здесь вы используете initWithFrame: для создания вложенного представления.)

26
ответ дан 24 November 2019 в 11:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: