`

swift -> UIMenuController(长按弹出的黑色横条菜单)的修改和自定义创建

 
阅读更多

 

 ***** 修改

 

针对 UITextField , UIWebView 系统自带 在选择一段文字后 ,有  “拷贝”,“选择”,“分享” 等 菜单, 现在要修改

 

例如 : UITextField

 

    func myMenu() {
        print(textField.text(in: textField.selectedTextRange!))
         /* 如果是webView
         webView.evaluateJavaScript("getSelection().toString()", completionHandler: { (result, error) in
             if result != nil {
                 print("selecter:"+(result  as! String) );
             } else {
             
             }
         })
         */
    }
 
    var textField:UITextField!;
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
        textField = UITextField(frame: CGRect(x: 20, y: 80, width: 100, height: 80));
        textField.text = "sdfassdf sdf sdf sdf s dfs f sd fds";
        self.view.addSubview(textField)
        
        //
        let menuItem1 = UIMenuItem(title: "我的菜单", action: #selector(myMenu))
        UIMenuController.shared.menuItems = [menuItem1]
 

        
        
    }
    

 

 

效果

 
 

 

 

** ****** 创建

  

   //这句很重要, 弹出UIMenuController.shared 即便没有输入焦点也可以显示
    override var canBecomeFirstResponder: Bool{
        return true;
    }
    func showLongPress(sender:UILongPressGestureRecognizer){
        self.view.becomeFirstResponder()
        let menuController = UIMenuController.shared
        let item1 = UIMenuItem(title: "测试1", action: #selector(test))
        let item2 = UIMenuItem(title: "测试2", action: #selector(test))
        menuController.menuItems = [item1, item2]
        menuController.setTargetRect(self.view.bounds, in: self.view!)//其中in:要显示在哪个视图上面/下面
        menuController.setMenuVisible(true, animated: true)

    }

 


 

 

  • 大小: 14.2 KB
  • 大小: 8.7 KB
分享到:
评论

相关推荐

    swift -> KxMenu 垂直弹出菜单

    Swift中的KxMenu是一款常用的垂直弹出菜单工具,它为iOS开发者提供了一种优雅的方式来实现类似下拉菜单的效果。在iOS应用开发中,这样的组件常常用于实现导航或选项选择,给用户带来便捷的操作体验。KxMenu是用...

    ios-类似QQ长按弹出菜单视图.zip

    在iOS开发中,创建类似QQ长按弹出菜单视图是一项常见的需求,它为用户提供了一种方便快捷的方式来执行各种操作,如复制、粘贴、剪切等。标题中的"ios-类似QQ长按弹出菜单视图.zip"指的是一个包含示例代码的压缩包,...

    swift -> 气泡弹出类 AMPopTip

    Swift中的AMPopTip是一种用于创建气泡提示效果的类,常用于实现类似iOS系统中的气泡弹出提示,如在用户交互时显示信息或者指导。这个库提供了丰富的自定义选项,包括动画效果、颜色、方向等,使得开发者可以轻松地在...

    swift-LYPopMenu简单的弹出式菜单选择器

    总的来说,LYPopMenu是Swift开发中实现弹出式菜单的一个优秀选择,它提供了丰富的功能和高度的可定制性,可以帮助开发者快速创建美观且实用的菜单选择器。通过深入理解和灵活运用,你可以将这个工具整合到你的应用中...

    swift-仿微信点击“”号的菜单弹出视图

    对于YHPopMenu-master,其包含的源代码和示例项目可以帮助你了解如何配置和自定义菜单视图。阅读源代码,理解其工作原理,可以加深对Swift UI编程的理解,并能灵活地适应其他类似需求。 总之,仿微信点击“...”号...

    swift-KFCircleMenu一个弹出圆形菜单菜单可围绕滑动

    1. **视图动画**:Swift的`UIView.animate(withDuration:)`方法可用于创建平滑的动画效果,让菜单按钮在弹出和隐藏时有动态的过渡。 2. **Auto Layout**:为了适应不同屏幕尺寸和设备方向,KFCircleMenu可能使用...

    swift-iOSUICollectionViewUICollectionViewCell长按拖动重新排序框架

    iOS UICollectionView UICollectionViewCell long press to drag the reorder framework(支付宝我的应用编辑,今日头条我的频道编辑)

    swift-长按即可移动cell的UITableView

    在这个特定的场景中,我们讨论的是如何实现一个"长按即可移动cell的UITableView"功能,这通常涉及到手势识别、自定义行为以及对UITableView的深入理解。 首先,我们要引入`UILongPressGestureRecognizer`手势识别器...

    swift-Presentr自定义弹出界面

    iOS 8 引入了专门的 Custom View Controller Presentation,支持自定义弹出界面,但是使用的时候并不那么直观,因此诞生了这个库,对基础 API 做了封装,可以更轻松地创建弹出界面。

    HXMenuCell:长按cell弹出 自定义UIMenuController

    `HXMenuCell`是一个开源项目,它扩展了`UITableView`或`UICollectionView`的默认行为,实现了长按cell时弹出自定义的`UIMenuController`。这个库是用Objective-C编写的,为开发者提供了更加灵活的交互方式,允许...

    swift-KYShareMenu-带弹性动画的分享菜单

    2. **自定义配置**:开发者可以根据需求自定义菜单的外观和行为。例如,可以调整菜单的颜色、字体、图标,以及弹出和关闭的速度,以匹配应用的整体设计风格。 3. **简单易用**:KYShareMenu 提供了简单的 API 接口...

    ios-复制粘贴---UIMenuController.zip

    在上面的代码中,我们创建了两个菜单项:“复制”和“粘贴”,并为它们指定了对应的处理函数`copy(_:)`和`paste(_:)`。这两个函数需要实现文本的复制和粘贴逻辑: ```swift @objc func copy(_ sender: Any) { // ...

    swift-tween-controller用于创建交互式菜单和指南的Swift工具包

    Swift-Tween-Controller是一款专为iOS开发者设计的Swift工具包,它主要用来创建动态、交互式的菜单和指导性界面,从而提升用户在应用程序中的体验。这个工具包利用了动画技术,使得过渡效果更加平滑自然,增加了应用...

    swift-HGActionSheet弹出菜单

    Swift-HGActionSheet弹出菜单是一种在iOS应用中实现弹出式选择菜单的工具,它为用户提供了方便的多选项操作界面。 HGActionSheet是由开发者Xuhonggui创建的,适用于Swift编程语言,旨在增强iOS应用的交互体验,特别...

    swift-iOS上的气泡弹窗。简单易用三行代码就可以集成

    这个“SMPopView-master”压缩包很可能包含了名为"SMPopView"的一个第三方库,用于快速创建和集成气泡弹窗。以下是一些关于如何使用此类库的知识点: 1. **第三方库集成**:首先,你需要将"SMPopView"添加到你的...

    swift-PopView-弹出自定义视图控件使用简单耦合度小(popView)

    Swift中的PopView是一种常见的用于创建弹出视图控件的方式,它可以帮助开发者快速实现自定义视图的弹出效果,通常用于展示警告、提示信息或者简单的交互操作。在这个项目中,"PopView - 弹出自定义视图控件,使用简单...

    swift-SPAlert-原生弹出框似于AppleMusic程序中的反馈支持动画和可定制

    Swift-SPAlert是一款用于iOS应用开发的开源库,它提供了类似Apple Music应用程序中反馈支持的原生弹出框效果,并且具有丰富的动画功能和高度的定制性。在iOS开发中,用户界面的交互性和视觉效果对于提升用户体验至关...

    swift-自定义下拉菜单创建下拉菜单对象即刻使用

    本文将深入探讨如何在Swift中创建一个自定义的下拉菜单对象,并立即投入使用,同时,我们将不依赖任何美工提供的背景图片,完全通过代码实现。 首先,我们需要了解下拉菜单的基本概念。下拉菜单通常包含一个触发...

    swift-QQ菜单号按钮弹出的可变菜单

    在Swift编程环境中,开发iOS应用时,我们经常需要创建类似QQ和微信中右上角“...”按钮弹出的可变菜单。这种菜单通常用于提供更多的操作选项,它可以根据不同的场景动态改变内容,以满足用户的交互需求。在本文中,...

    swift-DividingRuler-自定义滑动刻度尺滑动标尺实现简单所有参数可完全自定义

    在Swift编程语言中,开发iOS应用时我们常常需要创建各种自定义UI组件以满足特定的设计需求。本项目“swift-DividingRuler-自定义滑动刻度尺滑动标尺实现简单所有参数可完全自定义”正是这样一个例子,它提供了一个可...

Global site tag (gtag.js) - Google Analytics