iOS實(shí)現(xiàn)Pad上菜單彈出界面
前言:
此種方式實(shí)現(xiàn)只適用于pad開(kāi)發(fā),在iPhone上是無(wú)效的。
實(shí)現(xiàn):
比如我在界面上有一個(gè)按鈕,點(diǎn)擊按鈕,在按鈕旁邊彈出一個(gè)Pop框。
1、按鈕點(diǎn)擊事件
btn.addTarget(self, action: #selector(self.popShow), for: .touchUpInside)
2、事件處理
/// 彈框選擇條件
///
/// - Parameter sender: <#sender description#>
func popShow(sender:UIButton) {
let popVC = ExerciseLibPopViewController()
popVC.modalPresentationStyle = .popover
popVC.preferredContentSize = CGSize(width: 111, height: 2*44.0)
popVC.popoverPresentationController?.sourceView = sender
popVC.popoverPresentationController?.sourceRect = sender.bounds
popVC.popoverPresentationController?.delegate = self
self.present(popVC, animated: true, completion: nil)
}
其中,popover類有一個(gè)代理:
extension xxxViewController : UIPopoverPresentationControllerDelegate {
func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool {
print("popoverPresentationControllerShouldDismissPopover")
// 處理你要做的
return true
}
}
類似效果如下:

最后小Tips:
1、如果這里需要把上圖的小箭頭背景色改成其他顏色(和里面顏色一致)
加上這句即可:
popVC.popoverPresentationController?.backgroundColor = UIColor.white
2、如果想改變彈出框位置,修改這句即可:
// 將bounds改成CGRect(x,y,w,h)自己構(gòu)造參數(shù) popVC.popoverPresentationController?.sourceRect = sender.bounds
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS10 widget實(shí)現(xiàn)3Dtouch 彈出菜單
- iOS開(kāi)發(fā)中ViewController的頁(yè)面跳轉(zhuǎn)和彈出模態(tài)
- android底部彈出iOS7風(fēng)格對(duì)話選項(xiàng)框(QQ對(duì)話框)--第三方開(kāi)源之IOS_Dialog_Library
- iOS自定義提示彈出框?qū)崿F(xiàn)類似UIAlertView的效果
- 高仿IOS的Android彈出框
- iOS仿簡(jiǎn)書(shū)、淘寶等App的View彈出效果
- Android仿IOS底部彈出對(duì)話框
- iOS中自定義彈出pickerView效果(DEMO)
- IOS MenuViewController實(shí)現(xiàn)彈出菜單效果
相關(guān)文章
iOS App項(xiàng)目中引入SQLite數(shù)據(jù)庫(kù)的教程
SQLite是一個(gè)極輕的嵌入式數(shù)據(jù)庫(kù),在應(yīng)用程序中捆綁使用可以更方便地幫助操控關(guān)系型數(shù)據(jù),這里我們就來(lái)看一下iOS App項(xiàng)目中引入SQLite數(shù)據(jù)庫(kù)的教程2016-06-06
IOS開(kāi)發(fā)中使用writeToFile時(shí)的注意事項(xiàng)
本篇文章主要介紹了開(kāi)發(fā)中使用writeToFile時(shí)的注意事項(xiàng),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
IOS用AFN發(fā)送字符串形式的Json數(shù)據(jù)給服務(wù)器實(shí)例
本篇文章主要介紹了IOS用AFN發(fā)送字符串形式的Json數(shù)據(jù)給服務(wù)器實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
兼容iOS 10 升級(jí)xcode8出現(xiàn)的問(wèn)題及一些適配問(wèn)題的解決方案
這篇文章主要介紹了兼容iOS 10 升級(jí)xcode8出現(xiàn)的問(wèn)題及一些適配問(wèn)題的解決方案,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
IOS百度地圖導(dǎo)航開(kāi)發(fā)功能實(shí)現(xiàn)簡(jiǎn)述
百度地圖導(dǎo)航非常實(shí)用,那么基于代碼是如何實(shí)現(xiàn)的呢,下面通過(guò)本文給大家介紹IOS百度地圖導(dǎo)航開(kāi)發(fā)功能實(shí)現(xiàn)簡(jiǎn)述,需要的朋友可以參考下本文2016-03-03
iOS中使用NSProgress類來(lái)創(chuàng)建UI進(jìn)度條的方法詳解
NSProgress是iOS7以后引入的用于制作進(jìn)度條的類,能夠監(jiān)聽(tīng)多個(gè)任務(wù),這里就為大家?guī)?lái)iOS中使用NSProgress類來(lái)創(chuàng)建UI進(jìn)度條的方法詳解,需要的朋友可以參考下2016-06-06

