iOS:使用Block回调按钮事件(自定义view)

IOS学习——自定义View与使用block实现事件处理入门     IOS学习系列已经写了7篇了,还是忍不住想写我最喜欢的自定义View部分。如果问在我接的Android,IOS开发项目的开发过程中最让我高兴的时刻是什么时候,答案不是项目结束收钱的那一刻,而是在开发过程中能够实现美工的所有设计,制作出精美的页面效果的时候。所以其实在移动开发的所有知识点里面,我最喜欢的就是自定义View了    那么,这一次我先写一下入门教程,先写一个简单的自定义View并... 阅读详情
  • 自定义CustomView,在头文件中提供block回调函数
@property (nonatomic, copy) void(^buttonClickBlcok)(NSInteger index);
  • 给其中的UIButton绑定事件监听器
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
  • 自定义View监听到按钮点击事件后,调用回调函数
 - (void)buttonClick:(UIButton *)button
{
    if (self.buttonClickBlcok) {
        self.buttonClickBlcok(button.tag);
    }
}
  • CustomSuperView中添加CustomView,并公开customViewButtonClickBlcok方法
@property (nonatomic, strong) void(^customViewButtonClickBlcok)(NSInteger index);

在其内部实现以下内容:

@property (nonatomic, strong) CustomView *customView;
__weak CustomSuperView *weakSelf = self;
        [_customView setButtonClickBlcok:^(NSInteger index) {
            if (weakSelf.customViewButtonClickBlcok) {
                weakSelf.customViewButtonClickBlcok(index);
            }
        }];
  • 最终控制器调用回调函数
@property (nonatomic, strong) CustomSuperView *customSuperView;
[customSuperView setCustomViewButtonClickBlcok:^(NSInteger index) {
            //TODO...
            NSLog(@"-------%zd",index);
        }];

实现:控制器->自定义View->自定义View中Button的事件通过Block的调用

IOS:两种回调的方式实现(delegate和block) 我要实现的效果:在ViewController里有一个Button,点击button进入BlockView。在BlockView有一个TextField,输入文字后点击完成,可以把textField里的文字回调到ViewController的Button上显示。 第一种:delegate回调 回调类ViewController.m:#import "ViewController 阅读详情

相关推荐

iOS UITableView配合block 回调实现列表删除教程

前言: 各位同学大家好 ,有段时间没有给大家更新文章了 。 具体多久我也记不清楚了,春节放假比较早,所以就趁着有时间学习了一下iOS开发的基础知识 今天讲的iOS UITableView 配和block 回调实现列表删除教程 。那么废话不多说 ,我们正式开始。 准备工作 安装xcode 这个大家可以自己去appstore 搜索下载安装即可 效果图 具体实现 列表显示 @interface ViewController ()<UITableViewDelegate,UITableViewData

xq610928的博客 515

iOS 使用Block实现函数回调

事实上。iOS中的Block就是C++中的函数指针,实现方式都是一样的,以下贴出一个简单的实践。 首先,创建一个回调的类 BlockStudy.h // // BlockStudy.h // BlockStudy // // Created by 杜甲 on 11/11/14. // Copyright (c) 2014 杜甲. All rights reserved. ...

weixin_34389926的博客 175

光学设计必看:如何用泽尼克系数优化镜头像差?从Zemax到实际案例解析

本文深入解析了如何利用泽尼克系数优化镜头像差,从理解其工程价值、解码软件报告,到在Zemax中主动设置优化目标。通过高倍显微物镜等实际案例,详细展示了如何通过分析泽尼克系数诊断问题,并实施针对性优化策略,从而实现对球差、彗差等像差的精准控制,提升光学设计的精细度和系统稳健性。

gg901的博客 1027

iOS——Block回调

Block回调

cyberjack的博客 1900

抗性基因分析避坑指南:从数据库选择到结果解读的全流程经验分享

本文系统分享了抗性基因分析从数据库选择到结果解读的全流程避坑经验。针对宏基因组研究,重点剖析了SARG、BacMet等核心数据库的适用场景与组合策略,并提供了实验设计、序列比对阈值设定、丰度归一化及结果生物学解读的关键优化建议,旨在帮助研究者获得更可靠、深入的分析结果。

weixin_29233333的博客 200

项目管理——14规划绩效域论文套路

规划绩效域论文套路

Flee Elf 1153

IOS自定义View使用block实现点击事件

一般自定义view的点击事件触发都是使用 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

a15950711997的专栏 7632

AI 算力基础设施深度系列(一):从容器到 Kubernetes——算力底座的诞生

1. 容器 = Namespace(视图隔离) + Cgroup(资源限制) + Union FS(镜像分层)└── 不是虚拟机!共享内核,接近零开销2. K8S 三大设计哲学:└── 声明式 API + 控制循环 + 可扩展架构3. K8S 架构:└── 控制面 (API Server / etcd / Scheduler / Controller Manager)

warm3snow的博客 534

IOS开发之自定义Button(集成三种回调模式)

  前面在做东西的时候都用到了storyboard,在今天的代码中就纯手写代码自己用封装个Button。这个Button继承于UIView类,在封装的时候用上啦OC中的三种回调模式:目标动作回调,委托回调,Block回调。具体的内容请参考之前的博客:“Objective-C中的Block回调模式”,“Target-Action回调模式”,“Objective-C中的委托(代理)模式”。在接下来要封...

weixin_34290390的博客 220

abaqus 根据坐标施加载荷- Analytical Field 载荷映射

在一些类型的分析中,需要将按位置分布的载荷施加到结构上,比如流体分析导出了结构的气动载荷、或者温度载荷,需要将压强分布、温度分布载荷施加到固体上。这种分析可以使用abaqus中的Analytical Field实现。 1 例子 1.1 结构 一个100*100mm的面,面的载荷分布函数为p=(x2+y2)0.5/((20.5)*100) MPa,即(0, 0)的压强为0,(100, 100)的压强为1。 1.2 载荷 载荷函数:p=(x^2+y^2)^0.5/((2^0.5)*100) in exce.

shengyutou的博客 2万+

以阿克曼转向车为例对URDF和XACRO文件进行解读

   最近我在古月学院购买了在Gazebo中实现阿克曼转向车的仿真课程,课程资料的阿克曼小车的XACRO文件在Gazebo里加载的时候报了三个错误,在这之前,我没接触过URDF或XACRO文件,本篇文章就以这个阿克曼小车的XACRO文件为例,对URDF或XACRO文件的格式和内容进行解读,期望经过解读和学习,找到错误原因及所在,并解决这三个错误    先来放一下上面右图所示的模型的完整的XACRO文件: <?xml version="1.0"?> <!-- racecar.urdf.x

慕羽★的博客 3700

IOS中block的回调

回调到底是怎么一个概念呢?之前听得多,但是一直对它的解释都是很模糊的。那么今天要总结的就是ios中block的回调应用。(使用block在两个控制器中传值。) 先来看效果图 当点击完第二页的按钮时,将单例中的值取出来。 可以看到值已经被修改为ozx 那么看代码 // // ViewController.m // block的转页使用 // // Created by iiiii

ozxozxozx的专栏 718

基于STM32L4XX、HAL库的ICM-42670-P姿态传感器驱动程序设计

sprintf(buffer, "温度: %.1f °C\r\n\r\n", sensor_data.temperature);sprintf(buffer, "陀螺仪: X=%.2f Y=%.2f Z=%.2f rad/s\r\n",sprintf(buffer, "加速度: X=%.2f Y=%.2f Z=%.2f m/s²\r\n",sprintf(buffer, "开始校准IMU,请保持传感器静止...\r\n");sprintf(buffer, "读取传感器数据失败\r\n");

zhusl6688的博客 641

iOS Block 处理UITableViewCell上button的点击事件

大家都知道在cell上添加button的话并没有什么难处, 直接添加就是,难处在于怎样处理button的点击事件.   那么怎样处理点击事件呢?在这里通过block的方式来处理cell上的button的点击事件. 前提工作:新建一个工程,  创建一个TableViewController,在cell上添加一个button 这里为了方便起见,使用storyboard建立了一个tableVi

KiuShuo的专栏 3303

3D 韩系风格漫剧人设 | GPT-Image2 人设生成【附完整提示词】

宁姚同款清冷剑系美人,极致小巧鹅蛋脸,下颌线紧致纤细流畅,下巴小巧精致收窄,小脸衬得五官格外舒展,韩式水光肌,面部精细水光高光,鼻梁高光、鼻尖高光、面中苹果肌高光、唇珠高光,红棕色长卷发偏分大波浪,垂在一侧肩前,发量蓬松。发量丰厚蓬松有体积感,不贴头皮,几缕碎发自然垂落脸侧修饰脸型,长度过胸及背,发丝柔顺丝滑卷度自然,发尾自然垂落,身穿香槟色缎面挂脖长裙,挂脖设计无袖露肩露背,上半身围裹式荡领胸口垂褶,腰部堆褶收腰,修身直筒包臀裙长度到脚踝,缎面光泽感强垂坠感好,极简剪裁。纯白色背景,3D漫剧写实厚涂风。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 130

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

iOS弹出一个View(自定义的提示框)

培训的项目三期间,我们要写一个iPad的一个项目,里面有一个分享的按钮,弹出一个View,上面几个图片按钮,菜菜的我为了这个小功能花费了很多时间,最后弄明白了,发现之前的思路都想错了,要实现弹出一个View,其实就是先创建两个View(一个遮罩,一个装显示的内容)在点击按钮的时候把这两个View添加到self.view上面先添加遮罩的View,再添加内容的View,不要忘了代码的执行顺序,两个vi

唐宇的博客 6878

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

AFDropdownNotification按钮交互与事件处理: delegate与block双实现

AFDropdownNotification是一款为iOS应用开发的下拉通知视图组件,它提供了灵活的按钮交互与事件处理机制,支持delegate和block两种实现方式。本文将详细介绍如何使用这两种方式来处理AFDropdownNotification的按钮交互事件,帮助开发者快速掌握这一核心功能。 在iOS应用开发中,通知视图是与用户进行交互的重要组件。AFDropdownNotificati

gitblog_00317的博客 273

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

iOS 简单使用Block回调

创建两个ViewController,RootViewController和FirstViewController,将RootViewController设为根视图//FirstViewController.h #pragma mark -知识点 block回调第一步:重定义block类型//将系统现有的类型定义一个别名 : typedef NSInteger INT;//FirstBlock 是

珊小瑚的博客 854

多个block合并到一个方法的使用

iOS中轻量的传递方法block,在这里记录一下,以便以后查看,在这里以一个自定义的AlertView为例 先看一下代码:.h文件中 将两个按钮的点击事件以block的形式作为show方法的参数去回调,这样就不用再写代理方法调用了。 #import typedef void(^CancelBlock)(UIButton *button); typedef void(^Sur

qq_29399921的博客 1910

iOS Block回调

前言 相信大家都觉得使用block会给开发带来很大的便利,block可以轻松实现控件之间的数据传递,对于代理/通知/block三者之中,我个人也是非常倾向于使用block,但是使用block需要注意内存管理问题,不然很容易造成循环引用,造成内存泄露,对于block的知识请自行...

chengmaimi6368的博客 133

Block的使用

Block的使用 应用场景1 自定义view时,在h文件属性处定义block,然后在按钮或view监听的方法中调用此block。 在viewcontroller中创建view,直接调用block方法可以在vc中处理自定义view中对应按钮或监听传来的操作调用。 !block ?: block() block不为空 block的普通调用方式 #自定义view的h文件中的属性声明 @propert...

LeoThink的独家小院 454

block回调UIButton

//  BlockBtn.h #import @interface BlockBtn : UIButton @property (nonatomic,copy) void(^block)(void); - (id)initWithFrame:(CGRect)frame; - (void)clickAction; @end

cracj的专栏 648

DownloadButton:打造App Store风格的自定义下载按钮,让你的iOS应用交互体验飙升

DownloadButton是一款专为iOS开发者设计的自定义下载按钮组件,它能帮助你轻松实现App Store风格的下载交互效果,提升应用的用户体验。无论是下载进度展示、状态切换还是外观定制,这款组件都能满足你的需求,让你的应用界面更加专业和吸引人。 ## 🌟 为什么选择DownloadButton? 在移动应用开发中,一个直观、美观的下载按钮能显著提升用户体验。DownloadButto

gitblog_00465的博客 527

【Android与iOS开发对比系列】之 回调机制

回调机制对比 Android和iOS的回调的实现原理基本相同,只是具体命名不同而已。 本文将总结 iOS的Delegate和block, Android的interface和Handler.IOS 协议委托Delegate是协议的一种,通过@protocol声明。委托类的作用,一是传值,二是传事件。

firefist_wei的专栏 2322

iOS block和代理的区别

block和代理是iOS开发中实现回调的两种方式,大多数情况下是用哪个都可以,主要看个人喜好。本文主要是对两者做一下对比。 1.block简介   在 iOS中, block一共分三种。   (1)全局静态 block,不会访问任何外部变量,执行完就销毁。 ^{ NSLog(@"Hello World!"); }();   (2)保存在栈中的 block,当

zhuzhu81的博客 1520
下一篇: iOS:(boundingRectWithSize)按大小计算字符串高度
iOSDavinLee
博客等级 码龄12年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值