সুইফট 2 এ, আপনি আইফোন এবং আইপ্যাডে এটি সঠিকভাবে প্রদর্শন করতে এরকম কিছু করতে চান:
func confirmAndDelete(sender: AnyObject) {
guard let button = sender as? UIView else {
return
}
let alert = UIAlertController(title: NSLocalizedString("Delete Contact?", comment: ""), message: NSLocalizedString("This action will delete all downloaded audio files.", comment: ""), preferredStyle: .ActionSheet)
alert.modalPresentationStyle = .Popover
let action = UIAlertAction(title: NSLocalizedString("Delete", comment: ""), style: .Destructive) { action in
EarPlaySDK.deleteAllResources()
}
let cancel = UIAlertAction(title: NSLocalizedString("Cancel", comment: ""), style: .Cancel) { action in
}
alert.addAction(cancel)
alert.addAction(action)
if let presenter = alert.popoverPresentationController {
presenter.sourceView = button
presenter.sourceRect = button.bounds
}
presentViewController(alert, animated: true, completion: nil)
}
আপনি যদি উপস্থাপক সেট না করেন, আপনি -[UIPopoverPresentationController presentationTransitionWillBegin]
নীচের বার্তার সাথে আইপ্যাডে ব্যতিক্রম শেষ করবেন :
মারাত্মক ব্যতিক্রম: এনএসজেনেরিক এক্সসেপশন আপনার অ্যাপ্লিকেশনটিতে স্টাইলের একটি ইউআইএলআরল্টকন্ট্রোলার (<ইউআইএলার্টকন্ট্রোলার: 0x17858a00>) উপস্থাপন করা হয়েছে IA এই শৈলীর সাথে একটি ইউআইএলআরলেটকন্ট্রোলারের মডেলপ্রেজেন্টেশন স্টাইল হ'ল ইউআইএমডালপ্রেসিভেশনপোভার। সতর্কতা নিয়ন্ত্রকের পপওভারপ্রেসেশন কন্ট্রোলারের মাধ্যমে আপনাকে অবশ্যই এই পপওভারের জন্য অবস্থানের তথ্য সরবরাহ করতে হবে। আপনাকে অবশ্যই একটি সোর্স ভিউ এবং সোর্সরেট বা একটি বারবটন আইটেম সরবরাহ করতে হবে। আপনি যখন সতর্কতা নিয়ন্ত্রক উপস্থাপন করবেন এই তথ্যটি যদি জানা না থাকে তবে আপনি এটি ইউআইপিপভারপ্রেসিয়েশন কনট্রোলারডেলিগেট পদ্ধতি -প্রেমপোয়ারপোপারপ্রেসেশনে সরবরাহ করতে পারেন।