2 lianlianbushell lianlianbushell 于 2013.01.10 10:14 提问

访问UIScrollView 中的UIView

有如下代码:

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];
}

这个代码就可以正确实现,但是我需要第一个代码也能实现,请帮忙,谢谢

2个回答

Mr_me
Mr_me   2013.01.10 11:02
已采纳

设置scrollview里全部subview的tag,然后传递选中视图的tag到index变量中,需要满足整型变量。

 for(int i = 1; i <=4; i++){

  UIView *myView =  [UIView......]; // set your view
  myView.tag  = i;
  [your_scrollView addSubview:myView];
}

然后进行如下

for (UIView *view in [self subviews])
{
  if (view.tag == index) 
  {
  [view setAlpha:0.3];
  [view setUserInteractionEnabled:NO];
  }
}

或者有一个简单的方法获取view[your_scrollView viewWithTag:index]

lianlianbushell
lianlianbushell thanks
5 年多之前 回复
xinyoulingxi1_tong
xinyoulingxi1_tong   2013.01.10 10:54

试试下面的代码,希望能帮到你:

for (UIView *view in [scrollView subviews]) {
        [view setAlpha:0.3];
        [view setUserInteractionEnabled:NO];
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!