uibutton-点击按钮时实现调用方法

问题描述

点击按钮时实现调用方法
有一个CustomCell,想实现在点击它所在按钮时会发出警报。不知道怎么访问这个方法?

  @interface CustomCell : UITableViewCell {IBOutlet UIImageView    *imageViewCell;IBOutlet UILabel        *theTitle;IBOutlet UIButton*imageButton;  }  @property(nonatomicretain) IBOutlet UIButton*imageButton;  @property(nonatomicretain) UIImageView *imageViewCell;  @property(nonatomicretain) UILabel *theTitle; -(IBAction)imageButtonAction; @end     @implementation CustomCell     @synthesize imageViewCell;     @synthesize theTitle;    -(IBAction)imageButtonAction{     }

不是要在这里调用方法,我希望的是方法在使用CustomCell中类中。

解决方案

这里就需要用到“代理协议”的方法来解决这个问题
首先在你的CustomCell的.h头文件中定义一个“协议”protocol 并在CustomCell中添加一个delegate的属性

@protocol CustomCellDelegate  <NSObject>//创建一个当点击imagebutton时显示title的信息-(void)showTitle:(NSString *)title;@end

@protocol CustomCellDelegate;@inertface CustomCell: UITableViewCell//多添加一个属性@property (nonatomicassign) id <CustomCellDelegate> delegate;@end

在.m实现文件的imagebutton click事件中

@implementation CustomCell@synthesize delegate;//imagebutton的点击事件-(IBAction)imageButtonAction {     if ([delegate isRespondToSelector:@selector(showTitle:)]) {          [delegate showTitle:theTitle.text];  //将UILabel的内容传递到消息接收者     }}@end

在带有CustomCell的UITableView 所在的viewController 的.h头文件中添加CustomCellDelegate 的协议

@interface myViewController:UIViewController  <CustomCellDelegate>@end

在viewController 的.m实现文件中,UITableView 的datasource 协议方法中:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*) indexPath {          CustomCell *cell=[[[CustomCell alloc] init] autorelease];          cell.delegate=self; //指明CustomCell的代理为当前的viewController           ............ //todo          return cell;}//实现CustomCellDelegate的协议方法-(void)showTitle:(NSString *)title {    NSLog(""the cell title is :%@""title);}

解决方案二:
你自己定义一个listener不就OK么?

时间: 2025-01-30 05:07:30

uibutton-点击按钮时实现调用方法的相关文章

注册或者点击按钮时,怎么防止用户重复提交数据

 这篇文章主要是对注册或者点击按钮时,怎么防止用户重复提交数据进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 asp.net实现点击按钮后设按钮不可用并提交  代码如下: <asp:Button ID="Button1" runat="server" Text="123456" OnClientClick="this.disabled=true;this.form.submit(); "  UseSubmitB

uibutton-在点击按钮时上移view

问题描述 在点击按钮时上移view 当点击按钮时,它会显示选取器视图,然后按钮隐藏了.用户不知道在选取器视图后面怎么运行. 怎么解决? 对text区域的解决方法是用动画TextField显示View. 解决方案 http://code4app.com/requirement/5278f9956803fa9c25000000 看一下这个回答能否解决你的问题

android-点击按钮时视图可见,再次点击时视图消失

问题描述 点击按钮时视图可见,再次点击时视图消失 我想在程序中设置这样一个功能,当activity启动时,布局视图就不可见了.当我点击按钮时,布局视图是可见的.现在想实现的是,再次点击按钮时,布局视图应该隐藏不可见.这个问题虽然比较简答,但是我查了很多资料,还是不知道该怎么实现,希望得到大家的指点. 解决方案 你可以通过使用boolean FLAG来实现.例如:声明boolean visibility_Flag = false; button..setOnClickListener(new On

jquery-html中table的编辑按钮传参调用方法失败的问题

问题描述 html中table的编辑按钮传参调用方法失败的问题 在js中使用如下语句遍历创建表格,最右边带有编辑按钮,然后想传参调用某方法失败 var html6 = '<td><a href="#" rel="rs-dialog" data-toggle="modal" data-target="#myModal" onclick=setValue("'+i+'")">编

android-点击按钮时改变 imagebutton 的图像

问题描述 点击按钮时改变 imagebutton 的图像 我想在程序中设置当点击和释放 imageButton 时,改变它的图像.当再次点击和释放时,图像就会被改回去,如何实现呢? 我试着使用 selector,但是还是没有实现,请大家帮忙. 解决方案 使用下面的 selector <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.

canvas-当点击按钮时,如何执行 Canvas.drawText 事件?

问题描述 当点击按钮时,如何执行 Canvas.drawText 事件? 当点击按钮时,如何执行绘制文本 drawText 事件?如何设置 setContentView(R.layout.main) 来查看按钮,下面的代码是关于绘制文本的. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); drawView = new DrawView(this); setContentVi

vs2010点击按钮时可以浏览项目里的图片并且插入到oracle数据库中

问题描述 vs2010点击按钮时可以浏览项目里的图片并且插入到oracle数据库中 vs2010点击按钮时可以浏览项目里的图片并且插入到oracle数据库中 解决方案 不建议直接将图片或文件保存到数据库中. 一般是保存文件路径,(注意分布式发布系统时要指定文件服务器) 删除时根据文件路径去删除对应文件.

c#winform编程,怎么避免点击按钮时不影响正在循环执行发送数据的线程。

问题描述 我的发送数据线程的函数是fasong(),是执行udp现象socket方式循环发送60个字节数组data.每次发一帧数据.当点击某个按钮button后改变data[2]里的值,比如由1切换到2,这时候fasong()一直在运行.但是对方收到我发的数据会掉帧,就是说中间有些拍什么都没有收到,连60个0都没有.我猜是因为点击按钮时,中断了一下发送线程,从而出现掉帧现象.请大神们给我想想办法,避免出现掉帧.希望帮帮我这个初学者.在线等,急用,真诚谢谢!! 解决方案 解决方案二:可以加上一个b

我想在页面上点击按钮时打开一个输入用户名/密码的窗体

问题描述 如题,由于ID是多人共享,所以需要使用用户名和密码的方式进入数据库,在起始页面上创建了一个按钮,希望点击按钮的时候能弹出输入用户名,密码等登录信息的窗口,如何实现?是否只能使用@prompt来一个框一个窗体?子表单可以在没有宿主表单的情况下打开么?这个窗口主要就是收集用户输入,不需要保存其中信息.谢谢各位了! 解决方案 解决方案二:可以用notesuiworkspace类下的DialogBox方法解决方案三:或者自己百度登录弹出框.