ওকে এবং বাতিল সহ সুইফ্ট সতর্কতা দর্শন: কোন বোতামটি ট্যাপ করা হয়েছে?


105

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

বর্তমানে আমার আছে:

@IBAction func pushedRefresh(sender: AnyObject) {
    var refreshAlert = UIAlertView()
    refreshAlert.title = "Refresh?"
    refreshAlert.message = "All data will be lost."
    refreshAlert.addButtonWithTitle("Cancel")
    refreshAlert.addButtonWithTitle("OK")
    refreshAlert.show()
}

আমি সম্ভবত বোতামগুলি ভুল ব্যবহার করছি, দয়া করে আমাকে সংশোধন করুন কারণ এটি আমার জন্য সমস্ত নতুন new


উত্তর:


303

আপনি যদি আইওএস 8 ব্যবহার করছেন তবে আপনার ইউআইএএলআরএল্টকন্ট্রোলার ব্যবহার করা উচিত - ইউআইএএলআর্টভিউ অবমূল্যায়ন করা হয়েছে

এটি কীভাবে ব্যবহার করা যায় তার একটি উদাহরণ এখানে দেওয়া হয়েছে:

var refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.Alert)

refreshAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { (action: UIAlertAction!) in
  print("Handle Ok logic here")
  }))

refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: { (action: UIAlertAction!) in
  print("Handle Cancel Logic here")
  }))

presentViewController(refreshAlert, animated: true, completion: nil)

আপনি দেখতে পাচ্ছেন যে ইউআইএলআর্টএ্যাকশনের ব্লক হ্যান্ডলারগুলি বোতাম টিপুন handle একটি দুর্দান্ত টিউটোরিয়াল এখানে রয়েছে (যদিও এই টিউটোরিয়ালটি সুইফ্ট ব্যবহার করে লেখা হয়নি): http://hayageek.com/uialertcontroller-example-ios/

সুইফট 3 আপডেট:

let refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.alert)

refreshAlert.addAction(UIAlertAction(title: "Ok", style: .default, handler: { (action: UIAlertAction!) in
    print("Handle Ok logic here")
}))

refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action: UIAlertAction!) in
    print("Handle Cancel Logic here")
}))

present(refreshAlert, animated: true, completion: nil)

সুইফট 5 আপডেট:

let refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.alert)

refreshAlert.addAction(UIAlertAction(title: "Ok", style: .default, handler: { (action: UIAlertAction!) in
      print("Handle Ok logic here")
}))

refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action: UIAlertAction!) in
      print("Handle Cancel Logic here")
}))

present(refreshAlert, animated: true, completion: nil)

4
আপনি আপনার উদাহরণের UIAlertActionStyle.Cancelচেয়ে বরং ব্যবহার করতে পারেন .Default
ত্রিস্তান ওয়ার্নার-স্মিথ

আমি যদি অ্যাকশন বাতিল করে কিছু করতে চাই তবে আমি কিছুই ফিরিয়ে দিতে পারি না?
গ্যাব্রিয়েল রডরিগস

অবশ্যই, প্রযুক্তিগতভাবে, আমি লগিং ছাড়া উদাহরণে কিছুই করছি না। তবে আমি লগটি সরিয়ে ফেললে আমি কিছুই করব না।
মাইকেল ওয়াইল্ডর্মথ

1
নতুন সুইফ্ট সংস্করণগুলির জন্য উত্তরগুলি আপডেট করা হয়
ব্ল্যাকটাইগারএক্স

যে কেউ "ওকে" এবং "বাতিল" ক্রিয়াগুলিতে অ্যাক্সেসিবিলিটি আইডি যুক্ত করতে জানেন
কমলদীপ সিংহ ভাটিয়া

18
var refreshAlert = UIAlertController(title: "Log Out", message: "Are You Sure to Log Out ? ", preferredStyle: UIAlertControllerStyle.Alert)

refreshAlert.addAction(UIAlertAction(title: "Confirm", style: .Default, handler: { (action: UIAlertAction!) in
    self.navigationController?.popToRootViewControllerAnimated(true)
}))

refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .Default, handler: { (action: UIAlertAction!) in

    refreshAlert .dismissViewControllerAnimated(true, completion: nil)


}))

presentViewController(refreshAlert, animated: true, completion: nil)

4

দ্রুত 3 এর জন্য আপডেট হয়েছে:

// ফাংশন সংজ্ঞা:

@IBAction func showAlertDialog(_ sender: UIButton) {
        // Declare Alert
        let dialogMessage = UIAlertController(title: "Confirm", message: "Are you sure you want to Logout?", preferredStyle: .alert)

        // Create OK button with action handler
        let ok = UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
             print("Ok button click...")
             self.logoutFun()
        })

        // Create Cancel button with action handlder
        let cancel = UIAlertAction(title: "Cancel", style: .cancel) { (action) -> Void in
            print("Cancel button click...")
        }

        //Add OK and Cancel button to dialog message
        dialogMessage.addAction(ok)
        dialogMessage.addAction(cancel)

        // Present dialog message to user
        self.present(dialogMessage, animated: true, completion: nil)
    }

// লগআউটফান () ফাংশন সংজ্ঞায়িত:

func logoutFun()
{
    print("Logout Successfully...!")
}

3

আপনি সহজেই ইউআইএলআরএল্টকন্ট্রোলার ব্যবহার করে এটি করতে পারেন

let alertController = UIAlertController(
       title: "Your title", message: "Your message", preferredStyle: .alert)
let defaultAction = UIAlertAction(
       title: "Close Alert", style: .default, handler: nil)
//you can add custom actions as well 
alertController.addAction(defaultAction)

present(alertController, animated: true, completion: nil)

তথ্যসূত্র: আইওএস শো সতর্কতা


0

ব্যবহার করে আপনি বিবেচনা করতে পারেন SCLAlertView জন্য, বিকল্প UIAlertView বা UIAlertController

ইউআইএলআরএল্টকন্ট্রোলার কেবলমাত্র আইওএস 8.x বা তারপরের উপর কাজ করে, পুরানো সংস্করণ সমর্থন করার জন্য এসসিএল্লার্টভিউ একটি ভাল বিকল্প।

বিবরণ দেখতে গিথুব

উদাহরণ:

let alertView = SCLAlertView()
alertView.addButton("First Button", target:self, selector:Selector("firstButton"))
alertView.addButton("Second Button") {
    print("Second button tapped")
}
alertView.showSuccess("Button View", subTitle: "This alert view has buttons")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.