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

在UIToolBar上使用Done按钮关闭UIPickerView

,可以通过以下步骤实现:

  1. 创建一个UIToolBar对象,并将其添加到UIPickerView的顶部。可以使用UIToolBar的initWithFrame方法来设置其位置和大小。
  2. 创建一个UIBarButtonItem对象,并将其设置为UIToolBar的右侧按钮。可以使用UIBarButtonItem的initWithBarButtonSystemItem方法来创建一个系统提供的Done按钮。
  3. 为UIBarButtonItem设置一个目标和动作,以便在点击按钮时执行相应的操作。可以使用UIBarButtonItem的setTarget:action:方法来设置目标和动作。
  4. 在动作方法中,关闭UIPickerView。可以通过设置UIPickerView的hidden属性为YES来隐藏UIPickerView,或者通过调用UIPickerView的resignFirstResponder方法来取消其第一响应者状态。

下面是一个示例代码:

代码语言:swift
复制
// 创建UIToolBar对象
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];

// 创建UIBarButtonItem对象
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonTapped:)];

// 将UIBarButtonItem设置为UIToolBar的右侧按钮
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolbar setItems:@[flexibleSpace, doneButton]];

// 将UIToolBar添加到UIPickerView的顶部
yourPickerView.inputAccessoryView = toolbar;

// Done按钮的点击事件
- (void)doneButtonTapped:(id)sender {
    // 关闭UIPickerView
    [yourPickerView resignFirstResponder];
}

这样,当用户点击Done按钮时,UIPickerView将会关闭。UIToolBar上的Done按钮提供了一种方便的方式来关闭UIPickerView,使用户能够更轻松地完成选择操作。

推荐的腾讯云相关产品:腾讯云移动开发平台(https://cloud.tencent.com/product/mpp

请注意,以上答案仅供参考,具体实现方式可能因开发环境和需求而有所不同。

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

相关·内容

iOS键盘、选取器的工具栏

前言 我们使用键盘的时候,在打字完毕后想要收起键盘继续操作,要么是习惯性点击界面空白处收起键盘,要么是键盘上方点击一个“完成”之类的按钮来收起键盘。...Android键盘的完成按钮是自带的,但是iOS没有,所以需要开发者自行添加上去一个,这里就要用到工具栏UIToolbar。...同样,使用选取器的时候,最常见的就是选择省市区时,选择完毕后我们想要收起选取器,一种做法时点击空白界面来唤起一个响应,另一种更常见的做法还是自行添加一个工具栏上去,因为这时往往需要两个按钮,一个“取消...很遗憾,选取器也没有自带这两个按钮,还是需要使用工具栏UIToolbar来做这两个按钮。 本文就根据实例来讲解怎么键盘和选取器添加工具栏按钮。...选取器添加取消、完成按钮 还是先来看看效果再说: 这里下面是一个选择省市区的三级选取器,选取器上方有两个按钮,一个是取消,一个是完成。

1.4K10

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

; -- 禁用 : UI 控件关闭后, 处于禁用状态; 禁用状态的控件不可操作, 禁用操作 Interface Builder 取消 Enable 复选框; -- 选中 : 用于标识控件已启用 或...-- 作用 : 控制按钮边界间距, 在按钮四周留出空白; -- 间距值 : 该属性需要设置 Top, Bottom, Left 和 Right 四个值代表 下 左 右 间距; 2....UITextView 虚拟键盘关闭 (1) 需求分析 UITextView 与 UITextField 中使用的虚拟键盘对比 :  -- UITextField 虚拟键盘 : 右下角的键是 Done,...导航按钮关闭虚拟键盘 :  -- 1....即可关闭按钮; (4) 自定义键盘附件关闭虚拟键盘 自定义键盘附件 :  -- 作用 : 不是所有的应用都有导航栏, 没有导航栏的应用中, 需要有键盘附件来关闭键盘; -- 1.

6.4K20

iOS学习——UIPickerView的实现年月选择器

,首先是用一个基类来布局我们选择器的整体布局,包括我们的选择器的标题,取消、确定按钮,蒙层等大框架的布局,然后是子类基类的基础添加UIPickerView来实现选择器的基本功能以及数据加载和显示。...二 基类布局   在上一部分说了,基类布局主要是对整体的架构进行布局,我们先看下有哪些内容,包括了背景蒙层视图、弹出视图(包含标题行(又包含取消按钮、确定按钮和标题)、分割线和选择器),子类中会进行一个整体的布局...对外暴露类方法也是避免使用使用时需要创建对象,比较麻烦,也避免一些不必要的问题。...还有取消、确定按钮的点击事件也都在这里进行控制和实现,我们根据自己的需要进行这是就可以了,一般是点击确定按钮的时候调用我们的BRDateResultBlock,实现日期选择完成的操作。...关于自己做的这个使用上就非常简单了,我们的子类向外就暴露了一个类方法,所以我们再需要弹出选择器的地方调用该方法就可以了。

4.1K130

iOS开发UINavigation系列三——工具栏UIToolBar

iOS开发UINavigation系列三——工具栏UIToolBar         iOS中除了UINavinationBar之外,还有工具栏UIToolBar可以供我们使用,工具栏和导航栏十分类似,...只是功能更加简单,工具栏中也有UIBarButtonItem按钮,在前两篇博客中,对导航栏和导航项都进行的讨论,地址如下: UINavigationBar:http://my.oschina.net/u...创建一个工具栏如下:     self.view.backgroundColor = [UIColor grayColor];     UIToolbar * tool = [[UIToolbar alloc... barStyle;  //设置工具栏按钮数组 @property(nullable,nonatomic,copy) NSArray *items;  //设置工具栏是否透明...@property(nonatomic,assign,getter=isTranslucent) BOOL translucent;  //设置工具栏按钮 - (void)setItems:(nullable

53810

Xamarin.iOS 项目中访问 ArcGIS 云端专题数据图层

Xamarin.iOS 项目中访问 ArcGIS 云端专题数据图层 本文介绍如何在 Xamarin.iOS 项目中使用使用 ArcGIS Server 云端专题数据, 假设你已经准备好了 ArcGIS...SQL 的语法对数据进行过滤, 专题服务可以托管 ESRI 的 ArcGIS Online 云中, 也可以部署自己的服务器。...将图层添加到地图上之后, 你需要使用自定义符号将图层的数据地图上显示成蓝色的小圆点。...要完成这个功能, 需要在界面上添加一个按钮, 并将按钮的 Touch Up Inside 事件连接到方法 ShowCountryPicker : ?...当用户点击按钮时, 会调用 View Controller 的 ShowCountryPicker 方法, 在这个方法中, 我们初始化一个 UIPickerView 并把它显示屏幕, 要显示国家列表

1.5K20

iOS-UIPickerView详解iOS-UIPickerView详解UIPickerView的代理方法

UIPickerView *pickView = [[UIPickerView alloc]initWithFrame:self.view.frame]; // 显示选中指示器,有一个透明的覆盖选中航...pickView.showsSelectionIndicator = YES; //iOS 7之后可以自定义选择器视图的背景颜色改变其backgroundColor pickView.backgroundColor... -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component...self.mainFoodLabel.text = items[row]; }else{ self.drinkLabel.text = items[row]; } } // 随机按钮点击事件...UIPickerView简单实用效果图 最后附上一个稍微复杂一点的UIPickerView使用练习代码 ✨本文借鉴了很多前辈的文章,如果有不对的地方请指正,欢迎大家一起交流学习 xx_cc

2.8K60

【开源】慢速 UIPickerView 动画实现

选择 UIPickerView 是一种极为便捷的实现方法,但是实际你没有办法使用私有API的情况下,改变 UIPickerView 的数字滚动速度,而它的默认速度极快。...在这个项目里我使用了一个有些 hack(你也可以说是鸡贼) 的方法,做出来 5 个 UIPickerView,前四个不显示,第五个显示。...让第 n 个 UIPickerView 以第 n-1 个 UIPickerView 滚动到的数字为目标进行滚动,这就好比你要坐电梯10楼,你先设定一个5楼,然后到4楼的时候改主意了,取消5楼,设为8楼...,然后到了7楼又改成10楼……这当然要更耗时,所以5个(只要内存够大,你搞几个都一样)UIPickerView 一个比一个滚动地慢(这是数学问题,不是因为 UIPickerView 多了把手机搞卡了)。...项目使用 Xcode 7 + Swift 2 构建,总共 100 来行代码,有兴趣的去 Github 里面看吧 :)

76520

圆形进度条及计时功能

于是,我系统计时器里试了一下,的确是这样的,当我往一个方向划动非常多次后,滚轮还是会到头的。所以这是可行的方法。...我依然没有UIPickerView中找到设置固定单位的接口。...为了解决这个问题,我先尝试了第一种方法,即返回两列滑轮,第二列只有一行:“分钟”,这样显示效果没问题,但第二列是可以拖动的,即有边界弹性效果,而且系统也没有提供关闭弹性效果的接口(btw:UIScrollView...不过把它封装成一套控件,往后就可以随意使用了。...参考资料因为chrome没设置同步历史记录,所以这台电脑没有,改天抽空补上 完整代码可以看:Github 自定义AlertView用的是开源的项目:Github Written with StackEdit

2.1K20

你可能需要为你的 APP 适配 iOS11

如果有人看不清楚tab bar的图标或文字,可以通过长按tab bar的任意item,会将该item显示HUD,这样可以清楚的看清icon和text。...5、UIToolbar and UINavigationBar— Layout iOS 11 中,当苹果进行所有这些新特性时,也进行了其他的优化,针对 UIToolbar 和 UINavigaBar...iOS11下不想使用Self-Sizing的话,可以通过以下方式关闭:(前言中提到的问题也是通过这种方式解决的) iOS11下,如果没有设置estimateRowHeight的值,也没有设置rowHeight...这个类只能定义按钮的显示文字、背景色、和按钮事件。并且返回数组的第一个元素UITableViewCell的最右侧显示,最后一个元素最左侧显示。...UIContextualActionStyleNormal类型,delete操作按钮使用UIContextualActionStyleDestructive类型,当使用该类型时,如果是右滑操作,一直向右滑动某个

2.4K00

【iOS】UI基础Day2-笔记(毛玻璃、帧动画、音效等)

---- 毛玻璃效果 //1.加毛玻璃 UIToolbar *toolbar = [[UIToolbar alloc] init]; //2.设置frame toolbar.frame = self.bgImageView.bounds...; //3.设置样式和透明度 toolbar.barStyle = UIBarStyleBlack; toolbar.alpha = 0.98; //4.加到背景图片 [self.bgImageView...= 0; //设置动画播放时长 self.imageView.animationDuration = 1; //开始动画 [self.imageView startAnimating]; } 5.小招按钮的点击事件...图片经常被使用 2> imageWithContentsOfFile: a. 指向它的指针被销毁,该资源会被从内存中干掉 b. 放到项目中的图片就不由缓存 c....self.player = [[AVPlayer alloc] initWithPlayerItem:playItem]; 3.播放音效 [self.player play]; ---- 拳皇中播放音效 1.界面被加载时创建播放音乐器

61020

你可能需要为你的APP适配iOS11

如果有人看不清楚tab bar的图标或文字,可以通过长按tab bar的任意item,会将该item显示HUD,这样可以清楚的看清icon和text。...UIToolbar and UINavigationBar— Layout iOS 11 中,当苹果进行所有这些新特性时,也进行了其他的优化,针对 UIToolbar 和 UINavigaBar 做了新的自动布局扩展支持...iOS11下不想使用Self-Sizing的话,可以通过以下方式关闭:(前言中提到的问题也是通过这种方式解决的) iOS11下,如果没有设置estimateRowHeight的值,也没有设置rowHeight...这个类只能定义按钮的显示文字、背景色、和按钮事件。并且返回数组的第一个元素UITableViewCell的最右侧显示,最后一个元素最左侧显示。...UIContextualActionStyleNormal类型,delete操作按钮使用UIContextualActionStyleDestructive类型,当使用该类型时,如果是右滑操作,一直向右滑动某个

80320

你可能需要为你的 APP 适配 iOS 11

本文介绍iOS11中UI方面做了哪些更新,有些更新可以为用户提供更加完美的体验,但也有的可能会给目前的APP带来异常bug 前言 前几天发现在做的APP iOS11 系统动画有异常,在其他系统的设备都是正常的...(command+向左的箭头让模拟器横屏) 横屏时,iPhone,tab的图标较小,tab bar较小,这样垂直空间可多放置内容。...如果有人看不清楚tab bar的图标或文字,可以通过长按tab bar的任意item,会将该item显示HUD,这样可以清楚的看清icon和text。...UIToolbar and UINavigationBar— Layout iOS 11 中,当苹果进行所有这些新特性时,也进行了其他的优化,针对 UIToolbar 和 UINavigaBar 做了新的自动布局扩展支持...这个类只能定义按钮的显示文字、背景色、和按钮事件。并且返回数组的第一个元素UITableViewCell的最右侧显示,最后一个元素最左侧显示。

1.6K60

iPhoneX 适配实践

解决方案:系统的UIToolBar会自动扩展背景颜色到底部,可以让Custombar继承UIToolBar,或者直接放置一个ToolBar的底部当做背景也是可以的。注意高度不能超过48,否则失效。...UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectZero]; toolbar.backgroundColor = [UIColor...4、横屏交互适配 主要涉及到视频播放的边缘交互按钮。 内容 内容只需放置SafeArea之内。同样底部如果没有固定可交互组件也要延伸到屏幕底部。... 交互按钮 屏幕角落边缘可交互按钮需要在SafeArea内部,并且还需再限制layoutMargins之内(UIViewController属性) /* -layoutMargins returns...,这个会跟系统的下拉通知中心手势和滑控制中心手势冲突。

3.6K41
领券