UIAlertView'in dışında herhangi bir yere tek dokunuşla çıkmak istiyorum. UIAlertView’i herhangi bir buton olmadan göstermek istiyorum.iOS UIAlertView, bir yerden herhangi bir tuşla nasıl kapatılır?
Burada standart UIAlertView kodları var, ancak mümkünse nasıl işten çıkarılacağına dair girdiye ihtiyacım var.
UITouch ile? UITapGestureRecognizer ile?
Teşekkür ederiz.
DÜZENLEME:
viewDidLoadburada adı "uyarı"
if (alert)
{
emptyview = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)];
emptyview.backgroundColor = [UIColor clearColor];
[self.view addSubview:emptyview];
[emptyview addSubview:alert];
NSLog (@"emptyview is there!");
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[emptyview addGestureRecognizer:singleTap];
[singleTap release];
}
Ama bu emptyview doesnt hiç yanıt vermeyen ve handleSingleTap seçicinin yanıt vermiyor ile
alertview başlatma Ben biraz yeniden yazdım:
-(void)handleSingleTap:(UITapGestureRecognizer *)sender{
[alert dismissWithClickedButtonIndex:0 animated:YES];
[emptyview removeFromSuperview];
}
Uyarı görüntülendiğinde bu boş görünüme dikkat etmeliyim, ardından tek dokunuşla uyarıyı kapatabilirim.
Denedim: Elbette if (alert)
{
emptyview = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)];
emptyview.backgroundColor = [UIColor clearColor];
[self.view addSubview:emptyview];
[emptyview addSubview:alert];
NSLog (@"emptyview is there!");
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[alert addGestureRecognizer:singleTap];
[singleTap release];
}
, uyarı handleSingleTap işlevine tepki verdi. Boş görüntülemede neyi yanlış yaptım?
İKİNCİ DÜZENLEME:
Ne bu durumda elde etmek istediğiniz Eğer varsa, Kindle uygulaması bir kelimeyi, benzer işlevi seçtikten sonra açıklama ile küçük bir görünüm göstermektir. Belki UIAlertView yerine UIView oluşturmalıyım? Ancak Kindle app küçük görünüm altında gölge ile çok güzel, nasıl mümkün olabilir?
Um, amacım karmaşık ve uzun kodlardan oluşan bir görünüm yapmak veya kullanmak değildir. Bu iToast gerçekten harika, ama daha az kod ile böyle bir özellik yapmak mümkün olup olmadığını merak ediyorum? Bu bağlantıyı bizimle paylaştığınız için teşekkür ederiz. – wagashi
bu, ölçülebilir derecede yardımcı oldu! .m: - (void) setFrame: (CGRect) rect { \t // [süper setFrame: CGRectMake (0, 0, rect.size.width, 300)] ekledim; \t \t [süper setFrame: CGRectMake (0, 0, 100, 100)]; \t \t // kod aşağısı, UIAlertView'ın ortalanmasını sağlar. \t //self.center = CGPointMake (320/2, 480/2); \t \t // benim özel cgpointmake \t self.center = CGPointMake (200, 400); } – wagashi
Evet, soruma cevap verdiniz. Ancak "uyarı" mesajıma fazla bilgi koymayacağım, bu yüzden CGRectMake 0,0,100,100 benim durumumda mükemmel. UIAlertView içindeki yazı tipi boyutunu değiştirmek mümkün mü acaba? – wagashi