button点击问题
-(void)addScrollView{
scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 414, 40)];
scroll.contentSize=CGSizeMake(100*newsarray.count, 40);
scroll.contentOffset=CGPointMake(0, 0);//使当前页面显示在第一页
scroll.backgroundColor=[UIColor magentaColor];
scroll.showsHorizontalScrollIndicator=false;//隐藏水平方向的光标
for (int i = 0; i<newsarray.count; i++) {
UIButton*btn=[[UIButton alloc]initWithFrame:CGRectMake(i*100, 0, 100, 50)];
NSString *btnTitle =[newsarray objectAtIndex:i];//将数组里的内容赋给i objectAtIndex通过索引获取对象
[btn setTitle:btnTitle forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
//添加响应方法
[btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];
btn.tag=10000+i;//给button按钮加标签 便于区分
[scroll addSubview:btn];
/*
if (i==0) {
btn.layer.borderColor=[UIColor whiteColor].CGColor;
btn.layer.borderWidth=2.0;
btn.layer.cornerRadius=5.0;
}*/
}
[self addSubview:scroll];
}
//实现button按钮的响应方法:点击button时会有点击效果
-(void)btnAction:(UIButton*)button{
button.layer.borderColor=[UIColor whiteColor].CGColor;
button.layer.borderWidth=2.0;
button.layer.cornerRadius=5.0;
for (UIButton*items in scroll.subviews) {
if (items.tag>=10000 && items.tag<=10000+newsarray.count&&(items.tag!=button.tag)) {
button.layer.borderWidth=0;
}
}
}
加上scroll视图遍历之后 点击方法就实现不了了为什么 跟老师的代码一样啊
正在回答 回答被采纳积分+1
首先检查下运行成功后添加在scrollView上的button是否正常显示,将[self addSubview:scroll];放在生成button的for循环的前面试一下。祝学习愉快~
- 参与学习 516 人
- 提交作业 158 份
- 解答问题 637 个
本路径采用基础+案例方式,助你解开对界面优化、数据储存、屏幕适配的疑惑。6小时团购项目实战加最新版本Swift讲解,让你掌握更多iOS开发技巧。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星