Tôi muốn loại bỏ UIAlertView ở bất kỳ nơi nào bên ngoài nó bằng một lần nhấn. Tôi muốn hiển thị một UIAlertView mà không cần bất kỳ nút nào.iOS Làm cách nào để loại bỏ UIAlertView bằng một lần nhấn ở bất kỳ đâu?
Tôi có mã UIAlertView chuẩn ở đây, nhưng tôi cần đầu vào cách loại bỏ mã này, nếu có thể.
Với UITouch? Với UITapGestureRecognizer?
Cảm ơn bạn.
EDIT:
trong viewDidLoad
alertview khởi ở đây với tên "cảnh báo"
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];
}
Nhưng emptyview doesnt này không đáp ứng ở tất cả và nó không đáp ứng với handleSingleTap selector , mà tôi đã viết lại một chút:
-(void)handleSingleTap:(UITapGestureRecognizer *)sender{
[alert dismissWithClickedButtonIndex:0 animated:YES];
[emptyview removeFromSuperview];
}
Tôi cần chế độ xem trống này được thông báo khi cảnh báo được hiển thị sau đó tôi có thể loại bỏ cảnh báo bằng một lần chạm.
tôi đã cố gắng:
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];
}
Tất nhiên, cảnh báo đã đáp ứng với chức năng handleSingleTap. Tôi đã làm gì sai với emptyview?
THỨ HAI EDIT:
Những gì tôi muốn đạt được trong trường hợp này là để cho thấy một cái nhìn nhỏ với lời giải thích sau khi chọn một từ, chức năng tương tự trong ứng dụng Kindle, nếu bạn có một. Có lẽ tôi nên tạo UIView thay vì UIAlertView? Nhưng cái nhìn nhỏ trong ứng dụng Kindle rất đẹp với bóng bên dưới nó, làm thế nào là nó có thể?
Um, mục tiêu của tôi không phải là tạo ra hoặc sử dụng chế độ xem làm từ các mã phức tạp và dài. IToast này thực sự tuyệt vời, nhưng tôi tự hỏi liệu có thể tạo ra một tính năng như vậy với ít mã hơn không? Cảm ơn bạn đã chia sẻ liên kết này với chúng tôi. – wagashi
điều này vô cùng hữu ích! Tôi đã thêm vào .m: ' - (void) setFrame: (CGRect) rect { \t // [super setFrame: CGRectMake (0, 0, rect.size.width, 300)]; \t \t [super setFrame: CGRectMake (0, 0, 100, 100)]; \t \t // mã bên dưới làm cho UIAlertView được căn giữa. \t //self.center = CGPointMake (320/2, 480/2); \t \t // tùy chỉnh của tôi cgpointmake \t self.center = CGPointMake (200, 400); } ' – wagashi
Có, bạn đã trả lời câu hỏi của tôi. Tuy nhiên tôi sẽ không đặt nhiều thông tin trong "cảnh báo" của tôi, vì vậy CGRectMake 0,0,100,100 chỉ là hoàn hảo trong trường hợp của tôi. Tôi tự hỏi liệu có thể thay đổi cỡ chữ của văn bản bên trong UIAlertView không? – wagashi