iOS 自定义Cell里面定义了个UIButton,怎么才能点击UIButton跳转页面

 我来答
在下黎叔
推荐于2016-07-04 · TA获得超过1733个赞
知道小有建树答主
回答量:981
采纳率:71%
帮助的人:297万
展开全部
在cell.h声明一个protocol.
@proDelegate
-(v)someProMethod:(integer)cellRow;
@end
且声明属性
@property(xx,xx) id <proDelegate> customDelegate.
@property(xx,xx) interger cellRow;
button点击事件方法里
-(v)btnClicked:(id)sender
{
if(_customDelegate != nil && [_customDelegate responseToSelector:@selector(someProMethod:)])

{
[_customDelegate someProMethod:cellRow];

}
}

在加载tableview的viewController someVC中,
someVC.h
#import "xxxCell.h"

@class SomeVC:ViewController<proDelegate,tableViewDataSource,tableDelegate>

@implementation
-(cell *)cellForRow....
{
cell = ...

cell.dataSource = self;
cell.delegate = self;

//因为已经有delegate了,所以你定义的委托取其他名称,如customDelegate
cell.customDelegate = self;
cell.cellRow = indexPath.row;

}

//实现委托方法
-(v)someProMethod:cellRow
{
//跳转页面。需要可以在这个方法里传cell.row参数。

if(cellRow = 7)

{
//点击了第7行的按钮

}

}

@end
追问
我是个初学者
这样声明
@protocol proDelegate

-(void)someProMethod:(integer_t)cellRow;

@end

这里会报错
@property(nonatomic, weak) integer_t cellRow;
而且只有interger_t没有interger
追答
我只是简单举例,,不知道你这么菜。。。我都是都写得,没有经过编译器,所以肯定会有些地方报错啊。准确来说是NSInteger,我是简单说明而已,这是OC里最基本的数据类型。
一般基本数据类型的话,你声明属性用
@property(nonatomic,assign) type proName;
如果是对象的话,用
@property(nonatomic,strong)ClassName obj;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式