2012-04-16 21 views
5

Xcode 4.2'de çalışıyorum ve menü ekranının Bölünmüş Görünüm kullanmasını istediğim bir uygulama geliştiriyorum. Gerçekten, Bölünmüş Görünüm Denetleyicisine ihtiyacım olan tek şey, menü seçeneklerinden bazılarını sol bölme ve sağ bölmeye ayırmaktır. Ana ve ayrıntı görüntüleme denetleyicileri için özel boyutlar ayarlayabilmek istiyorum, ancak hiçbir şey benim için çalışmıyor gibi görünüyor. Ben gibi koduyla her görünüm denetleyicisi için çerçeve boyutlarını güncelleme denedim: viewDidLoad fonksiyonlardaBölünmüş görünüm denetleyicisinde ana ve ayrıntılı görünüm denetleyicilerini yeniden boyutlandırın?

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

, ama bunun bir etkileyecek gibi görünmüyor.

AppDelegate.m dosyasında diyelim görünüm denetleyicileri başlatmasını olmadan bölünmüş görünümü kontrolündeki ana ve detay görünümü denetleyicileri için özel boyutlar ayarlamak için bir yolu var mı? Hikaye panosundaki her bir görüntü denetleyicisini, çok sayıda düğme ve benzeri menü ekranları olarak düzenleyebilmeyi istiyorum.

cevap

10

Düzenleme: iOS 8 + 'da, göreceli genişlikler minimum/maximumPrimaryColumnWidth özellikleri veya tercih edilen ParrotColumnFraction belirtilerek değiştirilebilir.

aşağıda cevap

iOS < 8 için hala geçerlidir:


Bir bölünmüş görünüm denetleyicisi için boyutlarını değiştiremezsiniz.

burada bakınız: http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html

"UISplitViewController sınıfı bilgilerinin iki bölmeye yöneten bir kap görünüşüdür kontrol birinci bölme 320 nokta ve görünür pencere yüksekliğine eşit bir yüksekliği sabit bir genişliğe sahip ikinci.. bölme kalan alanı doldurur. "

+0

Hmm, tamam, teşekkürler ekleyin. Potansiyel olarak kullanabileceğim başka bir çözüm var mı? Tek ihtiyacım olan şey, her biri için bir boyut seçebileceğim iki dikey bölmeli bir görünümdür. – generaltsow

+0

İki görünümle büyük bir görünüm oluşturabilir ve her bir kodun görünümünü atayabilirsiniz. –

4

MGSplitViewController'u kullanın. UIViewController'a benzer bir API sunar, ancak ihtiyacınız olan bölme konumu gibi ek özellikler sunar.

+0

Bu denetleyicinin daha yeni bir sürümü var mı? Tarihli ve desteksiz görünüyor. Ancak, iOS7'de çalışır. – fatuhoku

+0

@fatuhoku Emin değilim, 'MGSplitViewController' takip ederek durdurdum ve ihtiyacım olanı elde etmemi sağlayan' UISplitViewController' için kendi paketleyicimi oluşturdum. Dürüst olmak gerekirse, şimdi bölünmüş bir görünüm denetleyicisi yapmak zorunda kaldım, 'MGSplitViewController' kullanmak yerine yeni bir tane daha yapardım, çünkü ana/alttan görünüm denetleyicisi ile gerçekten çok kolay. –

+0

Yep - konteyner görünümlerini kullanarak benim için de çok çalıştı. Sonunda MGSplitViewController kullanmamıştım. – fatuhoku

-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; 
} 

yukarıdaki temsilci yönteminden önce [splitView addDelegate:self];

+0

Bu yöntemler Mac için, NSSplitViewDelegate ile içindir. OP, Mac veya iOS uygulamasını belirtmedi, ancak iOS için olan “uisplitviewcontroller” yazan bir etikete sahipler. – cnotethegr8

İlgili konular