7

私はXcode4.2で作業しており、メニュー画面で分割ビューを使用するアプリを開発しています。実際、Split View Controllerに必要なのは、メニューオプションの一部を左ペインと右ペインに分割することだけです。マスタービューコントローラーと詳細ビューコントローラーのカスタムサイズを設定できるようにしたいのですが、何も機能していないようです。次のようなコードを使用して、各ViewControllerのフレームサイズを更新してみました。

[self.view setFrame:CGRectMake(0, 0, 768, 502)];

viewDidLoad関数では、しかしそれは何にも影響を与えないようです。

AppDelegate.mファイルなどでビューコントローラーをインスタンス化せずに、分割ビューコントローラーのマスタービューコントローラーと詳細ビューコントローラーのカスタムサイズを設定する方法はありますか?ボタンなどがたくさんあるメニュー画面なので、ストーリーボードの各ビューコントローラを編集できるようにしたいと思います。

4

3 に答える 3

10

編集:iOS 8以降では、minimum/maximumPrimaryColumnWidthプロパティまたはpreferredPrimaryColumnFractionを指定することで相対幅を変更できます。

以下の答えは、iOS<8でも当てはまります。


分割ビューコントローラのサイズを変更することはできません。

ここを参照してください:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html

「UISplitViewControllerクラスは、2つの情報ペインを管理するコンテナビューコントローラです。最初のペインの幅は320ポイントに固定され、高さは表示されているウィンドウの高さに一致します。2番目のペインは残りのスペースを埋めます。」

于 2012-04-16T04:10:48.977 に答える
4

を使用しMGSplitViewControllerます。UIViewControllerと同様のAPIを提供しますが、必要な分割位置などの追加機能を提供します。

于 2012-05-12T17:13:09.607 に答える
-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];

于 2013-06-19T10:54:06.913 に答える