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

如何创建UIButton以显示与UIBarButtonItem相同的效果?

要创建一个UIButton以显示与UIBarButtonItem相同的效果,您需要遵循以下步骤:

  1. 创建一个UIButton实例:
代码语言:swift
复制
let customButton = UIButton(type: .system)
  1. 设置UIButton的标题和样式:
代码语言:swift
复制
customButton.setTitle("Button Title", for: .normal)
customButton.titleLabel?.font = UIFont.systemFont(ofSize: 17)
  1. 设置UIButton的背景颜色和边框:
代码语言:swift
复制
customButton.backgroundColor = UIColor.clear
customButton.layer.borderWidth = 1
customButton.layer.borderColor = UIColor.lightGray.cgColor
  1. 设置UIButton的内边距:
代码语言:swift
复制
customButton.contentEdgeInsets = UIEdgeInsets(top: 8, left: 16, bottom: 8, right: 16)
  1. 添加点击事件处理程序:
代码语言:swift
复制
customButton.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
  1. 实现点击事件处理程序:
代码语言:swift
复制
@objc func buttonTapped() {
    print("Custom UIButton tapped")
}
  1. 将UIButton添加到视图中:
代码语言:swift
复制
view.addSubview(customButton)
  1. 设置UIButton的约束:
代码语言:swift
复制
customButton.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
    customButton.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 16),
    customButton.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -16)
])

现在,您已经创建了一个UIButton,它具有与UIBarButtonItem相同的效果。您可以根据需要自定义其外观和行为。

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

相关·内容

如何彻底删除Oracle数据库,创建相同实例名称

今天建库时选择了OMF方式,结果文件名称采用Oracle自动命名方式,看不懂啊,于是乎决定删除再重建。 Oracle提供了删除数据库指令:drop database。...但再次执行dbca,企图创建相同实例库时报错: ? 虽然和bisal实例关联数据文件、日志文件等已经物理删除了,但和这实例相关配置文件没有删除,因此不能再次创建相同实例库。...此时需要手工删除实例相关配置: 1、删除$ORACLE_BASE/admin/$ORACLE_SID所有目录。...3、删除/etc/oratab中和实例相关部分。 4、可以在$ORACLE_HOME中执行find . -name bisal,删除所有和实例相关文件。...再次执行dbca,就可以创建相同实例名称数据库了。

3.5K30

【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中基本文本和button以及各种跳跃

,都能实现效果。...步骤就是创建一个UIBarButtonItem对象,然后直接把这个对象赋值给self.navigationItem.leftBarButtonItem或者右边。...我们当然也能够利用自己创建导航条button来覆盖原来导航控制器产生默认button,如“<Back”。 相同。...button //先实例化创建一个UIBarButtonItem,然后把这个button赋值给self.navigationItem.leftBarButtonItem就可以 //初始化文字...后者被赋值一个UIBarButtonItem对象,所以仅仅能显示一个 //显示顺序,左边:按数组顺序从左向右;右边:按数组顺序从右向左 //能够初始化成系统自带一些barButton,

2.3K10

【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

UIButton 就是这种控件; -- 静态控件 : 继承了 UIView 基类, 该类控件用户之间不能交互, 之前使用 UILabel 就是这种控件; -- 被动控件 : 该类控件可以接受用户操作..., 默认按钮, 效果如下 :  -- Detail Disclosure : i 图标, 常用显示列表详情, 效果如下 :  -- Info Light | Info Dark : 显示 i 图标..., 显示简短说明信息, 效果如下 :  -- Add Contact : 显示 + 按钮, 常用于添加内容, 效果如图 :  (2) State Config 属性 UIButton 状态 : 每种状态都可以设置不同...按钮示例 (1) 创建 Detail Disclosure 按钮 创建 Detail Disclosure 按钮 : UIButton Type 属性类型是 Detail Disclosure;...(2) 创建 Add Contact 按钮 创建 Add Contact 按钮 : 设置 UIButton Type 属性类型是 Add Contact; (3) 创建 Info Light |

6.6K20

iOS键盘、选取器上工具栏

在键盘上添加收起按钮 先看看效果: 可以看到,在键盘上面有一条工具栏,最左边有一个小图标,是键盘形状,点击那个图标后,就会收起键盘,这个按钮并不是自带,是我添加上去。...在选取器上添加取消、完成按钮 还是先来看看效果再说: 这里下面是一个选择省市区三级选取器,选取器上方有两个按钮,一个是取消,一个是完成。...其实实现思路跟上面的大体相同,还是添加一个工具栏上去,因为这也是一个textfield,我们还是要将工具栏作为它inputAccessoryView。不过这次我们换一种实现方式。...上面我们是将一个tooBar作为inputAccessoryView,这就是另一种实现方式,不使用delegate,单独创建一个UIToolBar,直接设置上去,这个toolbar样式功能和键盘工具栏是不一样...,还记得上面的delegate中设置了一下只有当不是选取器textfield时才显示键盘工具栏吗,如果不判断一下,两个工具栏会冲突,结果就是什么都不显示创建工具栏代码如下: // 工具栏按钮 -

1.4K10

【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

//创建 UIPickerView 列表中显示字符串集合 array = [NSArray arrayWithObjects:@"知春路", @"五道口", @"上地", @"西二旗", @"...关联逻辑是开发者自己使用逻辑实现, 上面的示例代码没有本质区别, 使用还是相同一套 API; -- 界面设计文件 :  -- OCViewController.h :  // // OCViewController.h...)]; [self.view addSubview:toolBar]; //创建文字 控件按钮 UIBarButtonItem * bi1 = [[UIBarButtonItem...target:self action:@selector(clickCodeItem:)]; //创建固定长度空白 UIBarButtonItem * bi4 = [[UIBarButtonItem...* bi5 = [[UIBarButtonItem alloc] initWithCustomView:progress]; //将上面创建按钮添加到工具条中 toolBar.items

4.2K40

六天完成一个简单iOS App - 第一天

info信息 其中Bundle name是应用名称,默认项目名称相同,可以更改。...UINavigationControlller 设置左右UIbarbuttonitem代码抽取 我们发现每一个UINavigationControlller根控制器中都需要写一大段相同代码来设置UIbarbuttonite...在OC文件中会引用 防止OCC混编时候引起错误 **/ #import "UIView+CLExtension.h" #import "UIBarButtonItem+CLExtension.h"...当分类中有和本类中同名方法时候,优先调用分类方法,如果多个分类中有相同方法,优先调用最后编译分类。 5....总结 今天任务已经完成,我们完成了环境配置,主框架搭建,以及对一些繁琐重复代码做了简单整理。第一天效果如下 ? 第一天效果 ---- 文中如果有不对地方欢迎指出。

1.1K50

demo1 动态显示view或弹框 动态隐藏view或弹框

点击弹框周围区域也可以关闭按钮。 点击上边隐藏弹框也可以关闭按钮。 在实现功能基础上,动画形式展示跟隐藏。 思路:在之前开发中,我思路比较局限。...效果猛一看是可以实现,但是这个关闭按钮点击事件,却不怎么好使,因为按钮有一部分超出了view界限,于是,点击起来就不太好使。 遇见问题,解决问题。于是我就转换了一种思路。...设置这个view背景为半透明,透明度可以是0.5 或者是任意0-1之间数值,具体看你想要效果。...initWithFrame:frame]) { [self createUI]; } return self; } - (void)createUI{ //1.创建一个...= CGAffineTransformIdentity; }]; }]; }else{ sender.title = @"点击显示

99850

demo1 动态显示view或弹框 动态隐藏view或弹框

点击弹框周围区域也可以关闭按钮。 点击上边隐藏弹框也可以关闭按钮。   在实现功能基础上,动画形式展示跟隐藏。 思路:在之前开发中,我思路比较局限。...效果猛一看是可以实现,但是这个关闭按钮点击事件,却不怎么好使,因为按钮有一部分超出了view界限,于是,点击起来就不太好使。 遇见问题,解决问题。于是我就转换了一种思路。...设置这个view背景为半透明,透明度可以是0.5 或者是任意0-1之间数值,具体看你想要效果。...initWithFrame:frame]) { [self createUI]; } return self; } - (void)createUI{ //1.创建一个...= CGAffineTransformIdentity; }]; }]; }else{ sender.title = @"点击显示

1.1K70

iOS学习—— UINavigationController返回按钮侧滑返回手势研究

之前在网上搜过有关侧滑手势技术博客,发现大多比较散乱,甚至有很多都是简单粘贴复制,并不全面。侧滑返回操作效果与左上角back按钮是一样,所以一起放在这里进行探讨。...如果一个页面上有多个手势,我们要如何去获取策划手势,并对其进行操作呢?...原生导航条上返回(back)按钮,一般是显示一个返回箭头+上一页面的标题(或者是 返回箭头+Back),如下图右边所示。 ?...他们都属于UINavigationItem组成部分,都显示在navigationBar上,都属于UIBarButtonItem类,所以我给他们取名为导航条上按钮三兄弟,哈哈哈。。。   ...UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; //对按钮个性化设定 UIBarButtonItem *barItem

6.6K60

iOS开发之微信聊天工具栏封装

聊天工具条还是比较复杂,其中包括发送表情,发送文字,发送图片,发送声音,拍照等等功能,下面给出发送录音,文字,表情代码,其他和这几样类似。还是那句话百字不如一图,先来几张效果图吧。 ? ?...在封装聊天工具条时候表情键盘是之前封装好(请参考:“iOS开发之自定义表情键盘(组件封装自动布局)”),所以拿过来就可以用啦。...因为不管是工具条还是表情键盘都是用约束来控件大小,所以横屏也是没问题,在大屏手机上也是没问题。下面将会一步步讲解如何封装下面的聊天工具条。主要是对工具条封装,表情键盘在这就不做讲解了。...:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 9 UIBarButtonItem * item3 = [[UIBarButtonItem...,至于在Controller中如何使用他来发送消息,如何定义聊天Cell,如何处理录音文件,聊天时气泡是如何实现等功能,在以后博客中会继续讲解,希望大家继续关注。

2.5K80

React-Native组件之 Navigator和NavigatorIOS

对于app而言,一款应用往往涉及到很多页面,而页面之间跳转Android和iOS实现也各不相同。...Navigator NavigatorIOS 在移动开发过程中,几乎所有的APP中或多或少都会涉及到多个界面间切换,在React Native中有两个组件负责实现这样效果 —— Navigator...将会使用route和routeStack参数调用,route代表导航当前显示页面,routeStack是导航当前展示route集合; Navigator使用 1,首先,创建2个组件(home、Temp...要实现上面的效果,需要三个文件:第一个页面,第二个页面和一个控制跳转JS。...不指定此属性时,手势会根据 navigationBar 显隐情况决定是否启用(显示时启用手势,隐藏时禁用手势),指定此属性后,手势 navigationBar 显隐情况无关 NavigatorIOS

4.5K70

iOS开发之自定义表情键盘(组件封装自动布局)

下面的东西是编写自定义表情键盘,话不多说,开门见山吧!下面主要用到知识有MVC, iOS开发中自动布局,自定义组件封装使用,Block回调,CoreData使用。...下面将会介绍我们如何用上面提到东西来定义我们表情键盘。下面的内容会比较多,这篇博文还是比较有料。   ...上面是文件组织结构,下面为了更为直观了解我们想要效果,下面先看几张截图,来直观感受一下运行效果,上面是竖屏显示效果,下面是横屏显示效果。...,在.h中留有组件接口和回调用Block, plistFileName用于加载我们资源文件时使用,至于如何使用plist文件,请参考之前博客:IOS开发之显示微博表情 1 // 2 //...,在做时候感觉难点在于如何进行屏幕适配,尤其是当屏幕横过来时候键盘坐标系和我们frame坐标系不同,得做一个转换。

1.8K100

IOS开发之TabBarItem&NavigationBarItem

"工欲善其事,必先利其器",下面主要是对storyboard来进行我们项目框架搭建,必要时,用代码实现我们页面效果。...下面将会结合一个实际效果来简单介绍一下TabBar和NavigationBar, 然后说一下用我们storyboard和纯代码如何配置我们NavigationBar, 上一篇博客中提到了如何用Navigation...,如UIButton等,代码如下: //设置title值 self.navigationItem.title = @"END"; //用给titleView设置图片...在我们storyboard中只需要把Hide Bottom Bar on push选中即可,选中之后我们切换到该页面时,就不会显示Tab Bar了,如下图所示。 ?   ...上面的Project用storyboard配置好以及实现相应代码,运行效果如下: ?

1.4K80

Swift-MVVM 简单演练(一)

,给中间留出一个+按钮位置 自定义一个UIButton分类HQButton+Extension,封装快速创建自定义按钮方法 HQButton.swift extension UIButton {...有一些系统样式本身处理不好,比如侧滑返回时候,系统会出现渐溶效果,这种用户体验不太好 需要解决push出一个控制器后,底部TabBar隐藏/显示问题 Push 出控制器后,底部 TabBar...,当改动某一处代码时候,尽量对原有代码做尽可能小改动 之前我们已经设置好leftbarButtonItem文字显示状态问题 我们需求又是在此基础上直接加一个返回icon而已 因此,我们如果对自定义快速创建...Hierarchy : 层级 将UIBarButtonItem自定义快速创建leftbarButtonItem方法扩展一下,增加一个参数isBack,默认值是false /// 字体+target...didSet方法达到设置目的。

10.3K51
领券