iphone - stores - itunes login
आईफोन/आईपैड/आईओएस पर अस्थायी पॉपअप संदेश कैसे प्रदर्शित करें (7)
@ मार्को-मस्तपिक के समान जवाब, लेकिन विरासत के बिना।
- (void)dismissAlert:(UIAlertView *)alertView
{
[alertView dismissWithClickedButtonIndex:0 animated:YES];
}
- (void)showPopupWithTitle:(NSString *)title
mesage:(NSString *)message
dismissAfter:(NSTimeInterval)interval
{
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:title
message:message
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:nil
];
[alertView show];
[self performSelector:@selector(dismissAlert:)
withObject:alertView
afterDelay:interval
];
}
इसके प्रयेाग के लिए:
[self showPopupWithTitle:@"Hi" message:@"I like pie" dismissAfter:2.0];
इसे NSObject पर किसी श्रेणी में फेंक दें या हमेशा इसे आसपास रखें।
मैं आईफोन / आईपैड पर किसी अस्थायी संदेश को प्रदर्शित करना चाहता हूं, या किसी पृष्ठभूमि गतिविधि के बारे में कुछ त्वरित स्थिति प्रदर्शित करना चाहता हूं।
क्या ऐसा करने के लिए कोई मानक नियंत्रण है? मैंने ऐप्स को यह देखा है। अंदर एक पाठ के साथ एक गोलाकार आयताकार, अंधेरा और आंशिक रूप से पारदर्शी। यह उपयोगकर्ता इनपुट के लिए नहीं पूछता है लेकिन कुछ ही समय में अपने आप गायब हो जाता है। एंड्रॉइड का एक समान निर्माण है जो मानक है। Growl द्वारा प्रदर्शित खिड़कियों के समान भी।
सुझावों की सराहना की।
Cocoacontrols.com पर एक उपयोगकर्ता लाइब्रेरी है जो एंड्रॉइड-शैली टोस्ट पॉप-अप का अनुकरण करती है। हो सकता है कि आप क्या खोज रहे हैं।
http://www.cocoacontrols.com/platforms/ios/controls/altoastview
यह भी एक है जो एक ही विचार का पालन करता है।
आप स्विफ्ट में लिखे गए अपने StatusAlert फ्रेमवर्क का उपयोग कर सकते हैं। यह आपको ऐप्पल सिस्टम जैसी चेतावनी दिखाने के साथ-साथ UIView
में कहीं भी छवि, शीर्षक या संदेश के बिना एक ही चेतावनी प्रस्तुत करने की क्षमता देता है।
यह कोकोपोड्स और कार्थेज के माध्यम से उपलब्ध है और आईफोन एक्स, सेफ एरिया लेआउट, आईपैड का समर्थन करता है और कुछ अनुकूलन की अनुमति देता है।
मैं अपनी खुद की कक्षा बना रहा। UIAlertView से विरासत में नहीं मिला। सामान्य संरचना है,
-(id)initWithText:(NSString *)msg {
// Create a view. Put a label, set the msg
CALayer *layer = self.layer;
layer.cornerRadius = 8.0f;
...
self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.8];
[self performSelector:@selector(dismiss:) withObject:nil afterDelay:2.0];
[self setAutoresizesSubviews:FALSE];
return self;
}
- (void)dismiss:(id)sender {
// Fade out the message and destroy self
[UIView animateWithDuration:0.5
animations:^ { self.alpha = 0; }
completion:^ (BOOL finished) { [self removeFromSuperview]; }];
}
यह उपयोगकर्ता 2234810 2.2 संस्करण का सिर्फ एक स्विफ्ट 3 संस्करण है।
func showPopupWithTitle(title: String, message: String, interval: TimeInterval) {
let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
present(alertController, animated: true, completion: nil)
self.perform(#selector(dismissAlertViewController), with: alertController, afterDelay: interval)
}
func dismissAlertViewController(alertController: UIAlertController) {
alertController.dismiss(animated: true, completion: nil)
}
showPopupWithTitle(title: "Title", message: "Message", interval: 0.5)
शून्य शीर्षक और शून्य बटन के साथ UIAlertView का उपयोग करें, फिर वांछित होने पर इसे खारिज करें। यहां बताया गया है कि मैंने यह कैसे किया:
अपनी .h फ़ाइल में अलर्ट व्यू के लिए एक आवृत्ति चर बनाएँ:
@interface StatusMessageController : UIViewController {
UIAlertView *statusAlert;
}
अपनी .m फ़ाइल में, अलर्ट व्यू दिखाने और टाइमर शुरू करने के लिए एक विधि बनाएं, और जब टाइमर अलर्ट को खारिज कर देता है तो उसे संभालने के लिए:
- (void)showStatus:(NSString *)message timeout:(double)timeout {
statusAlert = [[UIAlertView alloc] initWithTitle:nil
message:message
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:nil];
[statusAlert show];
[NSTimer scheduledTimerWithTimeInterval:timeout
target:self
selector:@selector(timerExpired:)
userInfo:nil
repeats:NO];
}
- (void)timerExpired:(NSTimer *)timer {
[statusAlert dismissWithClickedButtonIndex:0 animated:YES];
}
जब भी आप स्टेटस संदेश दिखाना चाहते हैं, तो इसे आमंत्रित करें:
[self showStatus:@"Computing" timeout:4.5];
किसी भी समय, आप अलर्ट को इसके साथ भी खारिज कर सकते हैं:
[statusAlert dismissWithClickedButtonIndex:0 animated:YES];
आप नई स्थिति के साथ संदेश को ऑन-द-फ्लाई भी बदल सकते हैं:
statusAlert.message = @"Looking up user";
* स्विफ्ट 2.2 उत्तर:
func showPopupWithTitle(title: String, message: String, interval: NSTimeInterval) {
let alertController = UIAlertController(title: title, message: message, preferredStyle: .Alert)
presentViewController(alertController, animated: true, completion: nil)
self.performSelector(#selector(dismissAlertViewController), withObject: alertController, afterDelay: interval)
}
func dismissAlertViewController(alertController: UIAlertController) {
alertController.dismissViewControllerAnimated(true, completion: nil)
}
showPopupWithTitle("Title", message: "Message", interval: 0.5)