আইওএসে কীভাবে পপ আপ ডায়ালগ বক্স প্রয়োগ করতে হয়


303

গণনার পরে, আমি একটি পপ আপ বা সতর্কতা বাক্স ব্যবহারকারীর কাছে একটি বার্তা পৌঁছে দিতে চাই। কেউ কি জানেন যে আমি এই সম্পর্কে আরও তথ্য কোথায় পাব?

উত্তর:


517

হ্যাঁ, UIAlertViewসম্ভবত আপনি যা খুঁজছেন তা। এখানে একটি উদাহরণ:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection" 
                                                message:@"You must be connected to the internet to use this app." 
                                               delegate:nil 
                                      cancelButtonTitle:@"OK"
                                      otherButtonTitles:nil];
[alert show];
[alert release];

যদি আপনি আরও অভিনব কিছু করতে চান, তবে আপনার একটি কাস্টম ইউআই প্রদর্শন করুন UIAlertView, আপনি সাবক্লাস করতে পারেন UIAlertViewএবং initপদ্ধতিতে কাস্টম ইউআই উপাদানগুলি রাখতে পারেন । আপনি যদি UIAlertViewউপস্থিত হওয়ার পরে কোনও বোতাম টিপে সাড়া দিতে চান তবে আপনি উপরেরটি সেট delegateকরে - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndexপদ্ধতিটি প্রয়োগ করতে পারেন ।

আপনি দেখতে চাইবেন UIActionSheet


45
অ্যাপলের ডকুমেন্টেশন বলেছে যে "ইউআইএলআর্টভিউ ক্লাসটি হ'ল ব্যবহৃত হয়েছে এবং সাবক্লাসিং সমর্থন করে না"। বিকাশকারী.এপ্লে.লাইবারি
আইওএস

40
কেবল একটি মন্তব্য: এআরসি সক্ষম করার সাথে, '[সতর্কতা প্রকাশের'] প্রয়োজন নেই (কমপক্ষে, সংকলকও তাই বলেছে)।
জাভিয়ের সেদানো 10

4
সাবক্লাসিং ইউআইএলআর্টভিউ আইওএস 4 এর পরে সমর্থিত নয়
xySVerma

1
প্রতিনিধি সহ একটি সাধারণ ইউআইএলআর্টভিউয়ের উদাহরণ এখানে আপনার যদি বোতামগুলির
ক্রিয়াও

2
আপনি যদি একটি দ্রুত সংস্করণ সন্ধান করছেন তবে অস্কার সোয়ানরোসের উত্তরটি দেখুন
রোজারিও

177

এই প্রশ্নে আসা বিভিন্ন ব্যক্তি একটি পপআপ বাক্স দ্বারা বিভিন্ন জিনিস বোঝায়। আমি খুব অস্থায়ী দর্শনের ডকুমেন্টেশন পড়ার পরামর্শ দিই । আমার উত্তরটি মূলত এটি এবং অন্যান্য সম্পর্কিত ডকুমেন্টেশনের সংক্ষিপ্তসার।

সতর্কতা (আমাকে একটি উদাহরণ দেখান)

এখানে চিত্র বর্ণনা লিখুন

সতর্কতাগুলি একটি শিরোনাম এবং একটি al চ্ছিক বার্তা প্রদর্শন করে। ব্যবহারকারীর অবশ্যই এটি স্বীকার করতে হবে (একটি বোতামের সতর্কতা) বা চালানোর আগে একটি সাধারণ পছন্দ (একটি দুটি বোতাম সতর্কতা) করতে হবে। আপনি একটি দিয়ে একটি সতর্কতা তৈরি করুন UIAlertController

এটি অপ্রয়োজনীয় সতর্কতা তৈরি সম্পর্কে ডকুমেন্টেশনের সতর্কতা এবং পরামর্শকে উদ্ধৃত করার মতো।

এখানে চিত্র বর্ণনা লিখুন

মন্তব্য:

অ্যাকশন শীট (আমাকে একটি উদাহরণ দেখান)

এখানে চিত্র বর্ণনা লিখুন

অ্যাকশন শিটগুলি ব্যবহারকারীকে পছন্দের তালিকা দেয়। তারা স্ক্রিনের নীচে বা ডিভাইসের আকার এবং দিকনির্দেশের উপর নির্ভর করে একটি পপওভারে উপস্থিত হয়। সতর্কতা হিসাবে, একটি UIAlertControllerঅ্যাকশন শীট তৈরি করতে ব্যবহৃত হয়। আইওএস 8 এর আগে UIActionSheetব্যবহৃত হত, তবে এখন ডকুমেন্টেশন বলে:

গুরুত্বপূর্ণ: UIActionSheet আইওএস 8. (নোট যে অবচিত UIActionSheetDelegate। এছাড়াও অবচিত) তৈরি এবং iOS 8 কর্ম চাদর পরিচালনা এবং পরে, পরিবর্তে ব্যবহার করার জন্য UIAlertControllerএকটি সঙ্গে preferredStyleএর UIAlertControllerStyleActionSheet

মডেল ভিউ (আমাকে একটি উদাহরণ দেখান)

এখানে চিত্র বর্ণনা লিখুন

একটি মডেল ভিউ হ'ল একটি স্ব-অন্তর্ভুক্ত ভিউ যার কোনও কাজ শেষ করার জন্য এটির সমস্ত প্রয়োজন। এটি পুরো পর্দা নিতে বা নিতে পারে না। একটি মডেল ভিউ তৈরি UIPresentationControllerকরতে, মডেল উপস্থাপনা শৈলীর একটিতে একটি ব্যবহার করুন ।

আরো দেখুন

পপওভার (আমাকে একটি উদাহরণ দেখান)

এখানে চিত্র বর্ণনা লিখুন

একটি পপওভার এমন একটি দৃশ্য যা প্রদর্শিত হয় যখন কোনও ব্যবহারকারী কোনও কিছুতে আলতো চাপড়ান এবং এটিকে ট্যাপ করার সময় অদৃশ্য হয়ে যায়। এটিতে তীর তৈরি করা থেকে নিয়ন্ত্রণ বা অবস্থান দেখানো একটি তীর রয়েছে। সামগ্রীটি কোনও ভিউ কন্ট্রোলারে রাখতে পারেন এমন কিছু সম্পর্কে হতে পারে। আপনি একটি দিয়ে একটি পপওভার তৈরি করুন UIPopoverPresentationController। (আইওএস 8 এর আগে UIPopoverControllerছিল প্রস্তাবিত পদ্ধতি।

অতীতে পপওভারগুলি কেবল আইপ্যাডে উপলব্ধ ছিল, তবে আইওএস 8 দিয়ে শুরু করে আপনি সেগুলি একটি আইফোনেও পেতে পারেন ( এখানে , এখানে এবং এখানে দেখুন )।

আরো দেখুন

বিজ্ঞপ্তিগুলি

এখানে চিত্র বর্ণনা লিখুন

বিজ্ঞপ্তিগুলি শব্দ / কম্পন, সতর্কতা / ব্যানার, বা ব্যাজগুলি যা অ্যাপ্লিকেশনটি পূর্বের পৃষ্ঠায় চলমান না থাকলেও কোনও কিছুর জন্য ব্যবহারকারীকে অবহিত করে।

এখানে চিত্র বর্ণনা লিখুন

আরো দেখুন

অ্যান্ড্রয়েড টোস্ট সম্পর্কে একটি নোট

এখানে চিত্র বর্ণনা লিখুন

অ্যান্ড্রয়েডে, একটি টোস্ট হ'ল একটি ছোট বার্তা যা অল্প সময়ের জন্য স্ক্রিনে প্রদর্শিত হয় এবং তারপরে অ্যাপ্লিকেশনটির সাথে ব্যবহারকারীর ইন্টারঅ্যাকশন ব্যাহত না করে স্বয়ংক্রিয়ভাবে অদৃশ্য হয়ে যায়।

অ্যান্ড্রয়েড ব্যাকগ্রাউন্ড থেকে আসা লোকেরা টোস্টের আইওএস সংস্করণটি কী তা জানতে চান। এই প্রশ্নের কয়েকটি উদাহরণ তিনি এখানে , এখানে , এখানে এবং এখানে খুঁজে পেতে পারেন । উত্তরটি হ'ল আইওএসে টোস্টের সমতুল্য নেই । উপস্থাপন করা হয়েছে যে বিভিন্ন workaround অন্তর্ভুক্ত:

  • একটি সাবক্ল্যাসড দিয়ে নিজের তৈরি করুন UIView
  • একটি তৃতীয় পক্ষের প্রকল্প আমদানি করুন যা টোস্টের অনুকরণ করে
  • টাইমার সহ বোতামহীন সতর্কতা ব্যবহার করুন

তবে, আমার পরামর্শ হ'ল ইতিমধ্যে আইওএসের সাথে আসা স্ট্যান্ডার্ড ইউআই বিকল্পগুলির সাথে তাল মিলিয়ে চলুন। আপনার অ্যাপ্লিকেশনটিকে অ্যান্ড্রয়েড সংস্করণের মতো দেখতে একই রকম আচরণ করার চেষ্টা করবেন না। কীভাবে এটি পুনরায় প্যাকেজ করবেন তা ভাবুন যাতে এটি কোনও আইওএস অ্যাপ্লিকেশনটির মতো লাগে এবং মনে হয়।


3
অ্যান্ড্রয়েড টোস্ট সম্পর্কে এখনও একটি নোট সহ! নিস! এই তথ্যটি নতুন বিকাশকারীদের সহায়তা করে যা অ্যান্ড্রয়েড বিকাশ থেকে আসে। ধন্যবাদ!
ফিলিপ ব্রিটো

3
ম্যান, আমি এটি প্রিন্ট এবং ফ্রেম করা প্রয়োজন! আপনি গতকাল এবং আজ আবার আমাকে রক্ষা করেছেন: ডি
ফিঙ্গু

58

আইওএস 8 প্রকাশের পরে, UIAlertViewএখন অবহেলা করা হয়েছে; ইউআইআইএলআর্টকন্ট্রোলার হ'ল প্রতিস্থাপন।

সুইফটে এটি কীভাবে দেখাচ্ছে তার একটি নমুনা এখানে দেওয়া হল:

let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertActionStyle.default)
{
    (UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
    () -> Void in
}

আপনি দেখতে পাচ্ছেন, এপিআই আমাদের উভয় ক্রিয়াকলাপের জন্য কলব্যাকগুলি প্রয়োগ করার অনুমতি দেয় এবং যখন আমরা সতর্কতা উপস্থাপন করি যা বেশ কার্যকর!

সুইফট ৪.২ এর জন্য আপডেট হয়েছে

let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertController.Style.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertAction.Style.default)
        {
            (UIAlertAction) -> Void in
        }
        alert.addAction(alertAction)
        present(alert, animated: true)
        {
            () -> Void in
        }

@ এন্টালপি উপস্থিত করা উচিত ভিউকন্ট্রোলারের একটি বন্ধনী বন্ধনী থাকা উচিত এবং আপনার সমাপ্তি ব্লক এবং সবেমাত্র সম্পন্ন হওয়ার মধ্যে পার্থক্য কী: শূন্য?
অ্যান্ড্রু Plummer

এটা কোন পার্থক্য। এটি কল করার জন্য এটির জন্য একটি ব্লক রয়েছে।
এন্টালপি

25

আইওএস 8.0 এর জন্য আপডেট হয়েছে

আইওএস ৮.০, যেহেতু আপনাকে নিম্নলিখিত হিসাবে ইউআইএলআরএল্ট কন্ট্রোলার ব্যবহার করতে হবে:

-(void)alertMessage:(NSString*)message
{
    UIAlertController* alert = [UIAlertController
          alertControllerWithTitle:@"Alert"
          message:message
          preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction* defaultAction = [UIAlertAction 
          actionWithTitle:@"OK" style:UIAlertActionStyleDefault
         handler:^(UIAlertAction * action) {}];

    [alert addAction:defaultAction];
    [self presentViewController:alert animated:YES completion:nil];
}

আমার উদাহরণে স্বতঃ একটি ইউআইভিউউকন্ট্রোলার, যা একটি পপআপের জন্য "উপস্থিতভিউ নিয়ন্ত্রণকারী" পদ্ধতি প্রয়োগ করে।

ডেভিড


11

সুইফট 3 এবং সুইফট 4 এর জন্য:

যেহেতু ইউআইএলআর্টভিউ অবলম্বন করা হয়েছে, তাই সুইফট 3 এ সতর্কতা প্রদর্শনের জন্য ভাল উপায় রয়েছে

let alertController = UIAlertController(title: NSLocalizedString("No network connection",comment:""), message: NSLocalizedString("connected to the internet to use this app.",comment:""), preferredStyle: .alert)
let defaultAction = UIAlertAction(title:     NSLocalizedString("Ok", comment: ""), style: .default, handler: { (pAlert) in
                //Do whatever you want here
        })
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)

অবমানিত:

এটি চেক করা প্রতিক্রিয়া দ্বারা অনুপ্রাণিত সুইফ্ট সংস্করণ:

সতর্কতা প্রদর্শন প্রদর্শন করুন:

   let alert = UIAlertView(title: "No network connection", 
                           message: "You must be connected to the internet to use this app.", delegate: nil, cancelButtonTitle: "Ok")
    alert.delegate = self
    alert.show()

আপনার ভিউ কন্ট্রোলারে প্রতিনিধি যুক্ত করুন:

class AgendaViewController: UIViewController, UIAlertViewDelegate

ব্যবহারকারীরা বোতামে ক্লিক করলে, এই কোডটি কার্যকর করা হবে:

func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {


}

ইউআইএলআর্টভিউ এখন অবহিত করা হয়েছে।
পার্থ সানে

7

যদিও আমি ইতিমধ্যে বিভিন্ন ধরণের পপআপগুলির একটি ওভারভিউ লিখেছি , বেশিরভাগ লোকের জন্য কেবল একটি সতর্কতা দরকার।

কীভাবে পপআপ ডায়ালগ বক্স প্রয়োগ করা যায়

এখানে চিত্র বর্ণনা লিখুন

class ViewController: UIViewController {

    @IBAction func showAlertButtonTapped(_ sender: UIButton) {

        // create the alert
        let alert = UIAlertController(title: "My Title", message: "This is my message.", preferredStyle: UIAlertController.Style.alert)

        // add an action (button)
        alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil))

        // show the alert
        self.present(alert, animated: true, completion: nil)
    }
}

আমার পূর্ণ উত্তর এখানে


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.