2010-11-20 21 views
0

Yalnızca bir UIBarButtonItem öğesini görüntülediğim bir UIPopoverController içinde bir UITabBarController var. Gösterildiğinde popover'in izin verilen maksimum dikey yüksekliği almasını istiyorum. Görüntülemek için dokunduğumda, sonra reddettikten sonra döndürdüğümde iyi çalışıyor. Ancak, manzarada görüntülenen popover varsa ve sonra dikey olarak döndürürse, artık dikey mesafeyi tamamıyla doldurmaz. Sekme çubuğu denetleyicisinin içerik boyutu özelliği 320'ye 1000 olarak ayarlanmış ve aygıt her döndüğünde bunu sıfırlamayı denedim. Daha da kötüsü, kullanıcı arama çubuğunu etkinleştirdiğinde, popover son derece küçük küçülür ve uygulama yeniden başlatılana kadar bu şekilde kalır. Ayrıca http://cl.ly/3JdCPopover düzensiz şekilde yeniden boyutlandırılıyor

http://cl.ly/3JVF

Nasıl bu durdurmak ve popover olabilir için

http://cl.ly/3JdC daima maksimum dikey boyutu doldurmak?

cevap

1

Ben de aynı sorunu yaşıyor ve ben yöntemi kullanarak UIPopoverController verirken bu sadece olur anlaşılmıştır:

- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated 

ama kullandığınızda iyi çalışır:

- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated 

Maalesef UIBarButtonItem bir çerçeveye sahip değilsiniz Rect bu son yöntemle kullanabildiğim için benim düzeltmem UIToolbar çerçevesini kullanmak ve frame.origin.x ve frame.size.width değiştirmek için popover görünmesini sağlamak oldu UIBarButtonItem'in yanındaki doğru yerde.

Umarım Apple bunu bir sonraki iOS sürümlerinde düzeltir.

Selamlar

+2

I koymak 'self.contentSizeForViewInPopover = CGSizeMake (0, 0); self.contentSizeForViewInPopover = CGSizeMake (320, 1000); '-viewDidAppear:' yöntemine ve aynı zamanda işe yaradı. Bir kesmek gibi hissetmekle birlikte. – axiixc