12 NİSAN 2010, PAZARTESİ
İphone dışında tıklatarak ipad üzerinde Kalıcı ViewControllers kayıtsız SDK
İstediğim için görevden FormSheetPresentation kalıcı bir görünüm Denetleyicisi Kullanıcı musluklar dışında kalıcı bir görünüm...gördüm bir sürü uygulamalar yapıyor (ebay ipad için örnek) ama yapamıyorum nasıl olduğunu belirler beri altında görüşlerini devre dışı dokunduğunda kalıcı görünümleri görüntülenir gibi, bu (onlar zararlı olarak popover belki de?)...Herkes herhangi bir öneriniz var mı?
CEVAP
30 Mayıs 2011, PAZARTESİ
Bir yıl geç kaldım, ama bu oldukça basit yapmak.
Kalıcı görünüm penceresi için hareket algılayıcı denetleyicisi takın
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapBehind:)];
[recognizer setNumberOfTapsRequired:1];
recognizer.cancelsTouchesInView = NO; //So the user can still interact with controls in the modal view
[self.view.window addGestureRecognizer:recognizer];
[recognizer release];
İşleme kodu:
- (void)handleTapBehind:(UITapGestureRecognizer *)sender
{
if (sender.state == UIGestureRecognizerStateEnded)
{
CGPoint location = [sender locationInView:nil]; //Passing nil gives us coordinates in the window
//Then we convert the tap's location into the local view's coordinate system, and test to see if it's in or outside. If outside, dismiss the view.
if (![self.view pointInside:[self.view convertPoint:location fromView:self.view.window] withEvent:nil])
{
// Remove the recognizer first so it's view.window is valid.
[self.view.window removeGestureRecognizer:sender];
[self dismissModalViewControllerAnimated:YES];
}
}
}
Bunun hakkında. HİG lanet olsun, bu yararlı ve genellikle sezgisel bir davranıştır.
Bunu Paylaş:
Nasıl iPhone/iPad cihaz üzerinde/özgür...
CSS iPad/iPhone üzerinde düğme garip r...
Nasıl ve iPhone/iPad UİLabel üzerinde ...
Dönüştürme iPad için iPhone Film Şerid...
Nasıl iPhone üzerinde yıl, ay, gün, sa...