Вопрос по objective-c – Изменить размер основного и подробного контроллеров в контроллере с разделенным видом?

6

Я работаю в Xcode 4.2 и разрабатываю приложение, в котором я хочу, чтобы на экране меню использовался разделенный вид. Действительно, все, для чего мне нужен Split View Controller, - это разделить некоторые пункты меню на левую и правую панели. Я хочу иметь возможность устанавливать нестандартные размеры для основного и детального контроллеров, но мне кажется, что ничего не работает. Я пытался обновить размеры кадра для каждого контроллера представления с помощью следующего кода:

<code>[self.view setFrame:CGRectMake(0, 0, 768, 502)];
</code>

в функциях viewDidLoad, но это, похоже, ни на что не влияет.

Есть ли способ установить пользовательские размеры для основного и подробного контроллеров представления контроллера разделенного представления без создания экземпляров контроллеров представления, скажем, в файле AppDelegate.m? Я хочу иметь возможность редактировать каждый из контроллеров представления в раскадровке, поскольку они представляют собой экраны меню с большим количеством кнопок и тому подобное.

Ваш Ответ

3   ответа
4

использованиеMGSplitViewController, Он предлагает API, аналогичный UIViewController, но предлагает дополнительные функции, такие как разделение позиции, что вам нужно.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededMGSplitViewControllerError: User Rate Limit ExceededUISplitViewControllerError: User Rate Limit ExceededMGSplitViewControllerError: User Rate Limit Exceeded
10

Редактировать: В iOS 8+ относительные ширины можно изменить, указав свойства Minimum / MaximumPrimaryColumnWidth или предпочитаемуюPrimaryColumnFraction.

Приведенный ниже ответ остается верным для iOS & lt; 8:


Вы не можете изменять размеры контроллера разделенного представления.

Посмотреть здесь:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html

& quot; класс UISplitViewController - это контроллер представления контейнера, который управляет двумя областями информации. Первая панель имеет фиксированную ширину 320 точек и высоту, соответствующую высоте видимого окна. Вторая панель заполняет оставшееся пространство. & Quot;

Error: User Rate Limit Exceeded generaltsow
Error: User Rate Limit Exceeded
-1
- (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimumPosition ofSubviewAt:(NSInteger)dividerIndex;
{

    return proposedMinimumPosition + 238;
}

- (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMaximumPosition ofSubviewAt:(NSInteger)dividerIndex;
{
    return proposedMaximumPosition - 200;
}

перед добавлением вышеупомянутого метода делегата[splitView addDelegate:self];

Error: User Rate Limit ExceededuisplitviewcontrollerError: User Rate Limit Exceeded

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