IOS如何用代码实现多个控件关联一个方法 20C

比如有上下左右四个按钮,我四个按钮都连线move方法,这样不管点击四个中的哪个按钮都能执行move方法,这个效果代码要怎么实现?

20个回答

使用代码的实现方式:按钮连线到控制器,每个都使用addtarget方法设置selector都是move方法就行.

四个按钮调用同一个方法,给每个按钮一个标记符。

SEL selector = NSSelectorFromString(@"move");
for (int i = 0; i < 4; i++) {
UIButton button = [[UIButton alloc] initWithFrame:CGRectMake(10 + 50((i + 1)/2),10 + 50*(i/2), 40, 20)];
[button setBackgroundColor:[UIColor blackColor]];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[button setTitle:[NSString stringWithFormat:@"button%d",i] forState:UIControlStateNormal];
[button addTarget:self action:selector forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}

    下面定义move方法就行了
    - (void)move {
NSLog(@"move");

}

给每个控件设置tag,在move方法中传入控件,通过判断控件tag值来执行对应代码的逻辑

设置不同的 tag 就可以了 move方法带参数 把tag值传过来 根据不同的tag值进行判断点了 哪个btn

给每个按钮都调用同一个方法且给每一个按钮做一个标记符

按钮都绑定move方法,move方法把按钮带过来,根据带过来的按钮的标题判断是点击那个按钮,或者给每个按钮加一个不一样的tag,通过tag判断是那个按钮

楼主的意思是让四个按钮又能点击又能移动吧,写一个继承UIButton的类做按钮基类,重写touchesMoved方法,在touchesMoved方法完成
移动,四个按钮的touchesMoved方法调用同一个move方法,在move方法完成移动。

addTarget: 指定同一个方法就可以了, 再根据button的tag或者自定义的字段,类型区分

调同一个方法就行了啊

共20条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问