`

swift -> 按钮(UIButton)

 
阅读更多

 设置 button 中图片的大小

        let closeBtn = UIButton.init(type: .system)
        closeBtn.frame = CGRect(x: 0, y: 0, width: 66, height: 66);
        closeBtn.setImage(#imageLiteral(resourceName: "arrow_down"), for: .normal)
        closeBtn.tintColor = UIColor.white
        closeBtn.imageEdgeInsets = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)

 

 

给按钮 绑定 长按事件 

 

        let btnDelete:UIButton = bomBtn();
        btnDelete.setImage(#imageLiteral(resourceName: "delete"), for: .normal);
        //绑定长按
        let longPress = UILongPressGestureRecognizer(target: self, action: #selector(KeyboardViewController.delLongPress(_:)))
        longPress.minimumPressDuration = 0.5;//设置长按时间,默认0.5秒
        longPress.numberOfTouchesRequired = 1;//点按的手指数
        longPress.allowableMovement = 15;//允许多少像素内的活动
        btnDelete.addGestureRecognizer(longPress)

 

  

 

    func delLongPress(_ gestureRecognizer: UIGestureRecognizer) {
 
        if gestureRecognizer.state == UIGestureRecognizerState.began{//保障只在按下的时候才执行
            self.proxy.deleteBackward()
        }

    }

 

** 当 按下时 ,改 背景颜色 , 先准备一个全部是蓝色的 小尺寸bg_blue.png , 因为 会被拉伸,所以小点无所谓。

 

let x = UIButton()
x.setBackgroundImage(#imageLiteral(resourceName: "bg_blue"), for: .highlighted)
x.setTitle("我是Title", for: UIControlState.normal);
self.view.addSubview(x);
  

** 设置 title 显示的 偏移量

btn.titleEdgeInsets = UIEdgeInsets(top: 10, left: 0, bottom: 0, right: 0) //= 向下移动10

 

 

 

** 自定义 按钮

class DiyBtn:UIButton{
    
    var lb_1:UILabel!;
    override init(frame: CGRect) {
        super.init(frame: frame)
    }
    init(text:String,frame:CGRect) {
        super.init(frame:frame);
        
        
        lb_1 = UILabel(frame: frame);
        lb_1.text = text;
        lb_1.textAlignment = .center
        lb_1.backgroundColor = UIColor.blue;
        self.addSubview(lb_1)
        
        
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

 

使用

        let bt = DiyBtn(text: "我是标题", frame: CGRect(x: 80, y: 80, width: 120, height: 120))
        self.view.addSubview(bt)
        bt.lb_1.text = "我被修改了";

 

最终显示 “我被修改了"

 

 ** 获取点击位置

func mainBtnDrag(button:UIButton?,event:UIEvent){   
    let touch:UITouch = (event.touches(for: button!)?.first)!
    let location = touch.location(in: self.view);
    //location.x+","+location.y
}

 

 

 

分享到:
评论

相关推荐

    swift-DFCountDownButton继承UIButton实现IOS倒计时按钮

    在iOS应用开发中,UI设计和交互是至关重要的部分,其中按钮(UIButton)是最常见的交互元素之一。在某些场景下,比如用户注册或找回密码时,我们常常需要一个具有倒计时功能的按钮,以便在用户点击获取验证码后,...

    swift-SquishButton是UIButton的子类实现按下时会挤压的按钮

    总之,SquishButton是一个创新的Swift组件,它通过子类化UIButton并利用Swift的动画和触摸事件处理机制,实现了独特的挤压按钮效果。通过理解和使用这样的自定义控件,开发者可以提高应用的用户界面质量,为用户提供...

    swift-CCAnimationBtn一个UIButton子类模仿抖音App中点赞按钮的动画效果

    "swift-CCAnimationBtn"项目就是一个很好的示例,它提供了一个名为`CCAnimationBtn`的UIButton子类,其目的是模仿抖音App中点赞按钮的动画效果。这种动画效果通常包括按钮被点击时的心形图标逐渐展开,呈现出一种...

    swift-详解UIButton的imageEdgeInsets和titleEdgeInsets属性

    在Swift编程中,UIButton是iOS应用开发中常用的一个控件,用于实现用户交互。它能够显示文本和图像,为用户提供直观的点击操作。本篇文章将深入解析UIButton的两个重要属性:`imageEdgeInsets`和`titleEdgeInsets`,...

    swift-Maker是一个使用链式语法实现UIKit控件的Category

    在iOS应用开发中,UIKit是核心部分,包含了各种界面元素如按钮、标签、文本框等,而Swift-Maker的出现,就是为了方便开发者快速地定制和布局这些控件。 首先,链式语法是Swift-Maker的核心特性。链式语法允许开发者...

    swift-WJClipsButtonClips按钮的完整实现

    Swift-WJClipsButtonClips按钮的完整实现是针对Swift编程语言中的一种自定义UI控件的实践。在iOS应用开发中,为了提供更丰富的用户体验和界面设计,开发者经常需要自定义UI组件来满足特定需求。`WJClipsButton`就是...

    swift-Swift可扩展按钮效果同时支持多种按钮状态

    "swift-Swift可扩展按钮效果同时支持多种按钮状态"这个主题探讨的是如何在Swift中实现一个按钮组件,它不仅能够展示不同的视觉效果,还能根据按钮的不同状态(如正常、高亮、选中、禁用等)做出相应的变化。...

    Swift编程-UI控件-UIButton(一)

    在Swift编程中,UI控件是构建iOS应用界面的核心元素,而UIButton作为其中的重要组成部分,是用户与应用交互的关键。本教程将深入讲解UIButton的基本概念、使用方法以及常见功能,帮助开发者更好地理解和运用这一控件...

    swift-YLButton自定义按钮文字图片位置随意定制

    这个项目名为"swift-YLButton自定义按钮文字图片位置随意定制",表明它是基于Swift语言实现的,并且主要关注的是按钮组件的自定义功能。 YLButton的核心特性在于其高度可定制性。在iOS开发中,系统提供的UIButton...

    swift-RoundWaves按钮动画按钮的波纹发散动画

    在实现RoundWaves按钮动画时,首先,你需要创建一个自定义的UIButton子类。在这个子类中,你可以重写触摸事件方法,如`touchesBegan(_:with:)`和`touchesEnded(_:with:)`。当用户手指接触到按钮时,启动波纹动画;当...

    iOS三种工厂模式详解(demo + 图 +分析)

    func createButton() -> UIButton { return UIButton(type: .system) } } class iPadDeviceFactory: DeviceFactoryProtocol { func createButton() -> UIButton { return UIButton(type: .custom) } } ``` *...

    swift-FSCustomButtonDemo一个高度自定义UIButton控件

    1. **子类化UIButton**:为了自定义按钮,我们需要创建一个新的Swift类,继承自UIButton。这样,我们就可以在这个新类中添加额外的属性和方法,覆盖父类的方法以实现自定义行为。 2. **扩展属性和方法**:自定义...

    swift-Button-Animation按钮的渐变色效果

    本教程将探讨如何为Swift中的按钮实现渐变色效果,以提升UI的视觉吸引力和用户体验。"Button-Animation"项目正是这样一个示例,展示了如何在iOS应用中创建动态、吸引人的按钮动画。 首先,让我们了解什么是颜色渐变...

    swift-UIButton子类用于加载和转换动画

    在Swift开发中,按钮(UIButton)是用户界面中不可或缺的元素,它允许用户与应用进行交互。本主题将深入探讨如何创建一个UIButton的子类,该子类支持加载和转换动画,以提升用户体验并增强应用的视觉吸引力。这种...

    swift-一个炫酷的按钮(适用于喜欢点赞收藏等)

    在Swift编程语言中,开发一款炫酷的按钮用于点赞、收藏等功能是常见的需求。Swift的UI相关控件提供了丰富的自定义可能性,使得开发者能够创建出独具特色的用户界面。本项目"swift-一个炫酷的按钮"就是这样一个示例,...

    swift-StoryBoard实现首页现金贷基本跳转流程

    在Storyboard中,可以通过选择"File" -> "New" -> "Cocoa Touch Class",为首页创建一个新的Swift文件,并在Storyboard中将它设置为主视图控制器。 3. **设计用户界面** 使用Storyboard的界面构建器,可以在Scene...

    swift-一个小而灵活的UIButton子类动画加载进度完成动画

    这个名为"swift-一个小而灵活的UIButton子类动画加载进度完成动画"的项目,就是为了解决这个问题,通过创建一个自定义的`UIButton`子类,添加了动画显示加载进度和完成状态。 首先,我们来看一下这个项目的重点——...

    swift-UITableViewCell左右滑动出现更多按钮按钮高度自定义

    在Swift中,我们可以直接通过修改UIButton的frame或者使用AutoLayout来调整按钮的高度。如果使用AutoLayout,可以通过修改约束(constraints)来实现动态高度,例如设置按钮的heightAnchor与一个可变的Height约束相...

    swift-一个iOS11自定义导航栏按钮偏移问题的优雅解决方案

    ) -> UIView? { let expandedArea = CGRect(origin: .zero, size: CGSize(width: bounds.width + 20, height: bounds.height)) return expandedArea.contains(point) ? self : super.hitTest(point, with: event) ...

    swift-DropDowniOS的MaterialDesign下拉菜单

    3. **初始化控件**:在 storyboard 或代码中创建一个 UIButton 或 UITextField,并设置其类型为自定义。 4. **配置下拉菜单**:使用 `DropDown` 初始化方法,将按钮或文本字段作为父视图,并指定数据源。 5. **实现...

Global site tag (gtag.js) - Google Analytics