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

UIToolbar中栏按钮项的UIView不会调用操作

UIToolbar是iOS开发中的一个界面控件,用于在界面底部或顶部显示一组按钮或其他视图。栏按钮项是UIToolbar中的按钮或其他视图,用于执行特定的操作。

在UIToolbar中,栏按钮项的UIView不会直接调用操作。相反,栏按钮项通常与特定的目标-动作机制关联,通过设置目标和动作来响应用户的操作。

目标-动作机制是iOS开发中常用的一种事件处理方式。通过将目标对象和目标方法与栏按钮项关联,当用户点击栏按钮项时,系统会自动调用目标对象的目标方法来执行相应的操作。

要实现栏按钮项的操作,需要按照以下步骤进行:

  1. 创建栏按钮项的UIView对象,并设置其外观和属性。
  2. 创建目标对象,并实现相应的目标方法来执行操作。
  3. 将目标对象和目标方法与栏按钮项关联,通过设置栏按钮项的target和action属性来指定目标对象和目标方法。
  4. 将栏按钮项添加到UIToolbar中显示。

以下是一个示例代码,演示如何创建一个栏按钮项,并实现点击按钮时弹出一个提示框的操作:

代码语言:txt
复制
// 创建栏按钮项的UIView对象
let button = UIBarButtonItem(title: "按钮", style: .plain, target: self, action: #selector(buttonTapped))

// 创建目标对象,并实现目标方法
@objc func buttonTapped() {
    let alertController = UIAlertController(title: "提示", message: "按钮被点击了", preferredStyle: .alert)
    let okAction = UIAlertAction(title: "确定", style: .default, handler: nil)
    alertController.addAction(okAction)
    present(alertController, animated: true, completion: nil)
}

// 将栏按钮项添加到UIToolbar中
toolbar.items = [button]

在上述示例中,创建了一个标题为"按钮"的栏按钮项,并将其目标对象设置为当前视图控制器(self),目标方法设置为buttonTapped。当用户点击按钮时,会调用buttonTapped方法,弹出一个提示框显示"按钮被点击了"的消息。

栏按钮项的应用场景非常广泛,可以用于实现各种操作,例如切换视图、执行特定功能、显示菜单等。根据具体需求,可以选择不同的栏按钮项样式和外观。

腾讯云提供了丰富的云计算产品和服务,其中与iOS开发相关的产品包括云服务器、云存储、云数据库等。您可以根据具体需求选择适合的产品,通过腾讯云官方文档了解更多详细信息和使用方法。

参考链接:

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

相关·内容

Cocoa编程中视图控制器与视图类详解

UIView是iPhone屏幕上很多控件基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊UIView)内众多UIView及其专门化子类构建。...UISearchBar UIToolBar 在所有iPhone栏样式视图中,只有UIToolBar类可以直接使用。...视窗UIWindow虽然也是UIView,但不能用处理普通UIView方式来设置; 2....其描述了导航栏上显示内容,而正好UIViewController另有一导航属性navigationItem包括左栏按钮(leftBarButtonItem)、右栏按钮(rightBarButtonItem...选项卡类方便之处就是不需要象导航栏那样以栈方式推入和弹出视图操作,而是组建一系列控制器(它们各自可以是UIViewController、UINavigationController、UITableViewController

5K50

教你制作可移动导航栏

//选择栏目 private var sliderView:UIView?//指示器 private var topScroll:UIScrollView?...sliderView.backgroundColor = UIColor.orange scroll.addSubview(sliderView) self.sliderView = sliderView; 效果如下: 5、选中栏目时所触发方法...这也是本文重点:根据选中栏目(按钮),分别为topScroll设置不同ContentOffset,主要有三种情况:一、选中栏目是前几个 二、选中栏目时后几个 三、选中其他栏目 前两种情况没办法偏移到界面中间.../**选择某个项目*/ func selectButton(index:NSInteger){ //把当前按钮重置为原来颜色 self.selectButton?....contentOffset; //选中栏目的最前几个:scrollView偏移值 + 那个按钮X值 <= 当前显示窗口中间X值 if contentOffset.x <

1.6K60

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

UI 控件分类 UI 控件分类 : 活动控件, 被动控件, 静态控件; -- 活动控件 : 继承了 UIControl 基类, 该类控件可以与用户交互, 对应操作会激发对应 事件绑定回调方法, 之前...UIButton 就是这种控件; -- 静态控件 : 继承了 UIView 基类, 该类控件与用户之间不能交互, 之前使用 UILabel 就是这种控件; -- 被动控件 : 该类控件可以接受用户操作...UIControl 介绍 (1) UIControl 简介 UIControl 简介 :  -- 使用频率 : UIControl 控件一般不会被使用, 经常被使用是 UIControl 子类 UI...; -- 高亮 : UI 控件突出显示, 处于高亮状态; 手放在按钮上处于高亮状态; -- 禁用 : UI 控件关闭后, 处于禁用状态; 禁用状态控件不可操作, 禁用操作在 Interface Builder..., 会调用 touchesCancelled 方法, 建议勾选;  3.

6.6K20

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...下面是UIToolBar一些方法,其中大部分在UINavigationBar中都有涉及,这里只做简单介绍: //工具栏风格,和导航栏类似,有黑白两种 @property(nonatomic) UIBarStyle

55110

iPhoneX 适配实践

UIView *contentView = [[UIView alloc] initWithFrame:CGRectZero]; contentView.backgroundColor = [UIColor...解决方案:系统UIToolBar会自动扩展背景颜色到底部,可以让Custombar继承UIToolBar,或者直接放置一个ToolBar在底部当做背景也是可以。注意高度不能超过48,否则失效。...4、横屏交互适配 主要涉及到视频播放边缘交互按钮。 内容 内容只需放置在SafeArea之内。同样底部如果没有固定可交互组件也要延伸到屏幕底部。...@end 打开自动隐藏功能 - (BOOL)prefersHomeIndicatorAutoHidden { return YES; } 如果想手动控制隐藏功能,动态返回一个值,并且在更新时候调用...七、开源库Masonry更新SafeArea支持 想必有不少开发受够了苹果Autolayout繁琐API调用,Mansonry出现完美解决了这一大痛点。

3.6K41

iOS键盘、选取器上工具栏

前言 我们在使用键盘时候,在打字完毕后想要收起键盘继续操作,要么是习惯性点击界面空白处收起键盘,要么是在键盘上方点击一个“完成”之类按钮来收起键盘。...在Android上键盘完成按钮是自带,但是iOS没有,所以需要开发者自行添加上去一个,这里就要用到工具栏UIToolbar。...很遗憾,选取器也没有自带这两个按钮,还是需要使用工具栏UIToolbar来做这两个按钮。 本文就根据实例来讲解怎么在键盘和选取器上添加工具栏按钮。...这里有一行要注意: //关键代码,不写的话不会在键盘上面显示工具条 [textField setInputAccessoryView:topView]; 这一行意思是把工具栏作为输入框InputAccessoryView...上面我们是将一个tooBar作为inputAccessoryView,这就是另一种实现方式,不使用delegate,单独创建一个UIToolBar,直接设置上去,这个toolbar样式与功能和键盘工具栏是不一样

1.4K10

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

UIToolbar and UINavigationBar— Layout 在 iOS 11 中,当苹果进行所有这些新特性时,也进行了其他优化,针对 UIToolbar 和 UINavigaBar 做了新自动布局扩展支持...:)和一个类(UITableViewRowAction),代理方法返回是一个数组,我们可以在这个代理方法中定义所需要操作按钮(删除、置顶等),这些按钮类就是UITableViewRowAction...这个类只能定义按钮显示文字、背景色、和按钮事件。并且返回数组第一个元素在UITableViewCell最右侧显示,最后一个元素在最左侧显示。...UIContextualActionStyleNormal类型,delete操作按钮可使用UIContextualActionStyleDestructive类型,当使用该类型时,如果是右滑操作,一直向右滑动某个...cell,会直接执行删除操作,不用再点击删除按钮,这也是一个好玩更新。

1.6K60

【iOS】教你用ZFPlayer+KTVHTTPCache搭建缓存,预加载播放器

Demo演示功能 提示:文末有相关Demo下载链接 ZFPlayer列表播放 使用KTVHTTPCache实现缓存(播放过视频无需再下载) 使用KTVHTTPCache实现预加载(可以实现秒播)...这里要注意异步线程操作,要加锁处理 /// 根据传入模型,预加载上几个,下几个视频 - (void)preload: (id)resource { if (self.playableArray.count...,一个抖音列表播放例子进行演示,不熟悉转场动画,建议自行先看看唐巧https://blog.devtang.com/2016/03/13/iOS-transition-guide/了解,这里不多说..._effectView = [[UIVisualEffectView alloc] initWithEffect:effect]; } else { UIToolbar...*effectView = [[UIToolbar alloc] init]; effectView.barStyle = UIBarStyleBlackTranslucent

7.3K40

【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

控件常见属性 ( 1 ) 修改控件状态 ( 2 ) UIView 属性 ( 3 ) UIView 坐标系 ( 4 ) UIView 常用操作控件方法 ( 5 ) 控件 与 坐标系 5....运行应用 : 1.运行操作 : 点击 运行 按钮, 即可运行刚创建应用, 运行按钮 如下图 红框中; 2.设置虚拟机大小 : Xcode 默认 iPhone 虚拟机非常大, 屏幕中显示不全,...; ---- ( 4 ) UIView 常用操作控件方法 UIView 操作控件方法 : 1.添加一个子控件 : - (void)addSubview:(UIView *)view; ; 2.从父控件移除子控件...这里需要将 按钮本身传回, 用于获取其父控件 ; 点击 Connect 按钮, 就会自动生成方法; ④ 自动生成方法 : 执行上述操作会自动生成与按钮点击事件相关联方法; ---- (...调用 [UIButton buttonWithType:UIButtonTypeCustom] 创建一个按钮, 同时指定按钮类型为 Custom 类型, 一般我们使用按钮类型都是 该类型 ; 每个控件必须设置

4.7K30

Qt音乐播放器-介绍

主界面 主界面是经典音乐播放器布局,顶栏音乐标题,中栏是歌词显示和底栏音乐控制。 ?...功能栏 左边按钮是音乐列表,中间按钮是播放模式选择(单曲播放,循环播放,随机播放),右边按钮是增加音乐功能(只需增加音乐路径即可,软件自动找到音乐文件)。 ?...添加音乐界面 增加音乐操作界面,主要是选择对应音乐所在文件路径打上勾勾再点击增加按钮即可。 ? 这里有一个小细节就是,文件路径导航栏。 ?.../Users路径,这个操作快速跳转文件路径非常方便。...音乐列表 音乐列表界面,点击对应音乐即可播放。 ? 注意 该播放器UI部分是采用Qml脚本编写,有兴趣可以讲UI部分改为传统UI编程。

2.2K10

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

,在.h中留有组件接口和回调用Block, plistFileName用于加载我们资源文件时使用,至于如何使用plist文件,请参考之前博客:IOS开发之显示微博表情 1 // 2 //...    4.MoreView组件封装代码就不往上贴啦,和上面的类似,下面是调用MoreView组件运行效果,有兴趣读者请自行编写,以上就是视图部分代码了 ?   ...2.下面编写我们ImageModelClass类,里面封装了我们操作数据要用方法       ImageModelClass.h代码如下,主要是预留对外接口: 1 // 2 // ImageModelClass.h...,主要是用CoreData对sqlite操作: 1 // 2 // ImageModelClass.m 3 // MyKeyBoard 4 // 5 // Created by...90 UIToolbar * toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)]; 91 92

1.7K100

【IOS开发基础系列】UIView专题

(2).因为方法(1)存在一些问题,比如说控制器上面可能由按钮,需要监听按钮点击事件,如果是1,那么按钮事件应该由控制器来进行管理。...绘图操作是在UIViewdrawRect方法中完成,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图...重绘操作仍然在drawRect方法中完成,但是苹果不建议直接调用drawRect方法,当然如果你强直直接调用此方法,当然是没有效果。...调用super目的就是为了把事件传递给nextResponder,并且如果我们在touchesBegan中没有调用super,则super不会响应其他回掉(touchesMoved/touchesEnded...如果一个子视图区域超过父视图bound区域(父视图clipsToBounds属性为NO,这样超过父视图bound区域子视图内容也会显示),那么正常情况下对子视图在父视图之外区域触摸操作不会被识别

49230

setNeedsLayout和layoutIfNeeded看我就懂!

首先我们在Main.storyboard拖取出一个adjust Height按钮以及带有约束一个viewRed 如图: ?...(withDuration: 2.0) { self.view.layoutIfNeeded() } } 当按下按钮时,您看到第一件事是调用view.layoutIfNeeded...当这样约束被更新时,它会自动执行相当于setNeedsLayout操作,因此在下一个更新周期内不需要更新视图。我们可以没有更多代码,你会看到更新,但它不会有动画效果。...净效果是在动画块中不会发生动画,因为该块中视图没有更改。 效果如下: ? 在这种情况下单击按钮将立即根据更新约束更新视图大小,而不是动画更新。...刷新布局,不立即刷新,但layoutSubviews一定会被调用 -layoutIfNeeded方法:如果,有需要刷新标记,立即调用layoutSubviews进行布局(如果没有标记,不会调用layoutSubviews

2.6K90

翻译_iOS视图编程指南(View Programming Guide for iOS)之视图和窗口体系

在UIKit每个视图都是由一个图层对象(通常都是 CALayer子类)支持,这些图层管理视图存储回存以及处理视图相关动画。大部分操作都得通过UIView接口。...应用中视图包括窗口(本身也是视图),一个作为视图容器UIView对象,一个图片视图,一个展示控制工具条,一个条按钮(它本身不是视图,但他管理内部视图)。...每个视图都有一个响应图层,并且可以通过视图 layer属性访问到其中,由于条按钮不是视图,故不能直接访问它 layer属性。...尽可能少调用视图对象绘制代码,一旦代码被调用,就会被核心动画缓存下来,以便以后尽可能复用。复用已渲染好内容可以消除更新视图所带来高消耗绘制周期。在动画过程中,复用已存在内容是相当重要。...系统捕获内容快照,并将此快照作为视图虚拟显示。如果你从不想改变视图内容,那么视图绘制代码可能从不会再次调用。快照被复用在包括视图在内大部分操作。如果你改变了这个内容,你通知系统视图已发生改变。

99140

《Motion Design for iOS》(三十二)

最后,我让按钮可被点击并且会调用我定义一个方法。...self参数值意味着我想要这个按钮调用其被点击时所在类,而@selector(didTapMapIcon:)是我想要调用Objective-C方法。...好,现在我们将动画所有主要部件都添加到界面上了,是时候在地图图标被点击时添加一些动画了。 首先,我们需要实现按钮被点击时被调用方法。这里是不含任何内容方法看起来样子。...会从其alpha的当前值开始动画,这样即使动画被打断了,它也不会跳回开始动画前初始值。...这对像这样被用户动作管理动画非常重要,因为你不知道用户会不会在动画发生后不停点击按钮,而且你肯定不想在动画完成后都没做任何事。

44810
领券