2013-05-12 8 views
6

FPPopover kullanıyorum. Bununla ilgili bir sorunum var, ancak, bunu sunduğum zaman, sadece bana bu kadar düşük sunmamı ya da tepeye atlayacağım. Ve bu zaten kesilmeden önce iyi.FPPopover'ı istediğim kadar nasıl taşıyabilirim? Çok aşağı itirseniz, iPhone uygulamam için bir pop over görünümü sunmak üzere

Örneğin

:

[self.speedOptionsPopover presentPopoverFromPoint:CGPointMake(0, 235)]; 

İşleri ince ama (o alttan iyi 40px var gibi) Ben 235 yerine bunu bir 255 koyarsanız o tepesine kadar geri atlar.

Bu konuda herhangi bir deneyimi veya bunları nasıl düzeltebilirim?

Ayrıca, açılır pencerenin içeriğinin neden her zaman en üstteki 50px gibi başladığını açıklayabiliyorsanız, daha yüksek bir başlangıç ​​yapmak istediğinizde bonus puanları. Bunu nasıl değiştirebilirim? yaratılışından

Daha kodu:

- (void)speedOptionsTapped:(UIBarButtonItem *)sender { 
    // Set the delegate in the controller that acts as the popover's view to be self so that the controls on the popover can manipulate the WPM and number of words shown 
    self.speedOptionsController.delegate = self; 

    self.speedOptionsPopover.arrowDirection = FPPopoverNoArrow; 
    self.speedOptionsPopover.border = NO; 
    self.speedOptionsPopover.contentSize = CGSizeMake(320, 190); 
    [self.speedOptionsPopover presentPopoverFromPoint:CGPointMake(0, 235)]; 
} 
+0

Düğmelerinizin çerçevesini ayarlamayı denediniz mi? Bir şey değişiyor mu? – Lucien

+0

FPPopover bir .nib içinde görünümünde kullanıyor musunuz? – ModernCarpentry

+0

'FPPopover' Boyutunun yüksekliği nedir. Ekran görüntüsü de ekleyebilir misiniz? – Ayush

cevap

3

FPPopoverController.m içinde bu kod parçasını değiştirmeyi deneyin: Bu kod ile

//ok, will be vertical 
if(ht == best_h || self.arrowDirection == FPPopoverArrowDirectionDown) 

:

//ok, will be vertical 
if (self.arrowDirection == FPPopoverNoArrow) 
{ 
    r.origin.x = p.x; 
    r.origin.y = p.y; 
} 
else if(ht == best_h || self.arrowDirection == FPPopoverArrowDirectionDown) 

nedeni size Bu sorunu yaşıyor olabilir makro FPPopoverArrowDirectionIsVertical okları olan bir popover olarak kabul eder dikey bir ok. Sonuç olarak, popover'ınızı, popover'ı tetikleyen görünüme mümkün olan en yakın şekilde konumlandırmaya çalışmaktır.

Kodu yukarıda belirtildiği gibi değiştirirseniz, ok içermeyen ve yeniden konumlandırmadan orijinal noktalara uyulmasını isteyen özel bir durum yaratırsınız.

İlgili konular