我有这段代码:
int i=0;
for (UIView *view in [self subviews]) {
//NSLog(@"index %d - i %d",index,i);
if (i==index) {
NSLog(@"index %d - i %d",index,i);
[view setAlpha:0.3];
[view setUserInteractionEnabled:NO];
}
i++;
}
“index”是用于选择要修改的视图的变量。
问题是没有任何反应,相反,如果我运行此代码:
for (UIView *view in [self subviews]) {
[view setAlpha:0.3];
[view setUserInteractionEnabled:NO];
}
每个视图都会明显修改,但我需要第一个代码:)
想法?
答案 0 :(得分:1)
设置滚动视图中所有子视图的标记,然后将所选视图的标记传递给索引变量,希望它是一个整数。
for(int i = 1; i <=4; i++){
UIView *myView = [UIView......]; // set your view
myView.tag = i;
[your_scrollView addSubview:myView];
}
然后你可以这样做。
for (UIView *view in [your_scrollView subviews])
{
if (view.tag == index)
{
[view setAlpha:0.3];
[view setUserInteractionEnabled:NO];
}
}
或者有一种简单的方法来获取视图 [your_scrollView viewWithTag:index]
答案 1 :(得分:0)
试试这段代码: -
for (UIView *view in [scrollView subviews]) {
[view setAlpha:0.3];
[view setUserInteractionEnabled:NO];
}
希望它有效