首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS: UIButton在iOS中绘制圆形边框

在iOS中,可以使用UIButton的layer属性来绘制圆形边框。具体步骤如下:

  1. 创建一个UIButton对象:let button = UIButton(type: .custom)
  2. 设置按钮的frame和其他属性:button.frame = CGRect(x: 100, y: 100, width: 100, height: 100) button.setTitle("Button", for: .normal) button.setTitleColor(.black, for: .normal)
  3. 设置按钮的圆形边框:button.layer.cornerRadius = button.frame.size.width / 2 button.layer.borderWidth = 2.0 button.layer.borderColor = UIColor.red.cgColor button.clipsToBounds = true

解释:

  • layer.cornerRadius属性用于设置按钮的圆角半径,通过将按钮的宽度除以2,可以实现圆形效果。
  • layer.borderWidth属性用于设置边框的宽度。
  • layer.borderColor属性用于设置边框的颜色。
  • clipsToBounds属性用于裁剪按钮的子视图,确保边框不会超出按钮的范围。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅为示例,实际使用时请根据具体需求选择适合的腾讯云产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 关于视图在切圆角时候的导致的性能下降的一些探讨

    iOS 中有的时候我们控件要做成圆形 或者是切成圆角,这个时候我们一般都会使用.layer.cornerRadius  ->  clipsToBounds = YES 的属性来切,这样完全能达到我们的效果,但是如果一个界面上需要切圆角的控件很多,并且列表很长的时候,尤其是像 tableView 那样如果每一个 cell 上都有大量的控件需要切,那么就会非常卡顿,帧数严重下降 。其实原因就是这样设置会触发离屏渲染,比较消耗性能。注意:png 图片 UIImageView 处理圆角是不会产生离屏渲染的。(ios9.0 之后不会离屏渲染,ios9.0 之前还是会离屏渲染)。这里先说下离屏渲染: ###### iOS 的渲染机制: CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。GPU 屏幕渲染有以下两种方式: On-Screen Rendering 意为当前屏幕渲染,指的是 GPU 的渲染操作是在当前用于显示的屏幕缓冲区中进行。 Off-Screen Rendering 意为离屏渲染,指的是 GPU 在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。 由以上可以看出离屏渲染需要重新开辟新的缓存空间,必定要更加消耗资源。 通过查资料目前知道了设置了以下属性时,都会触发离屏绘制: shouldRasterize(光栅化) masks(遮罩) shadows(阴影) edge antialiasing(抗锯齿) group opacity(不透明) 复杂形状设置圆角等 渐变 我用一个现有的小 DEMO 来测试下,因为这个 demo 中没有切圆角,但是有阴影,一样可以出发离屏渲染,所以效果是一样的,在 tableView 中的自定义 cell 类中我设置了阴影如图:

    05

    自定义UISearchController的外观

    以前我们在项目中使用搜索框的时候,如果用系统自带的控件则是使用UISearchDisplayController,而自从iOS8之后,系统重新给我们提供了一个搜索控件:UISearchController。在UISearchController中我们无需再自己初始化UISearchBar,只需要提供searchResult展示的视图。然而在开发中,我们往往需要根据项目的风格来改变UISearchBar的外观,通过继承的方式,我们可以完全定制符合项目风格的外观,然而有些情况下我们很难短时间内完成全部的外观定制工作,譬如我们项目用的好几个旧框架,代码中充斥着各种写好的UISearchBar的展示,而改动底层框架并不是一个较好地实践。于是我开始搜索并总结出了几个不通过继承的方式来更改UISearchBar外观的方法。

    02
    领券