ios-在UIScrollview上更新多个UIViews

时间:2018-09-26 14:50:01

标签: ios objective-c uiview uiscrollview uibutton

我有一个包含UIScrollView的ViewController,其中包含一些视图,这些视图是用户可以在其之间滚动的定制UIView(非常简单的uiimage + uibutton)(一次一个定制视图)。 我希望用户能够“标记”照片,然后显示某些文本,当用户选择其他照片(通过使用按钮)时,我想更新上一​​张所选照片和当前照片上的文本已选择。

我该怎么办? 在视图本身内部,我无权访问上一个视图,我想应该将一条通知发送给视图控制器,但比我无权访问要更新的按钮

1 个答案:

答案 0 :(得分:0)

您可以使用标签来标识scrollViews子视图。 在将标签添加到scrollView时,将标签添加到子视图,并将相同的标签添加到属于该子视图的按钮。

view.tag = 1;
button.tag = 1;

然后在按按钮调用的方法中,可以使用按钮标签获取相应的自定义视图。

-(void)buttonClick:(id)sender{
   UIButton *btn = (UIButton*)sender;
   NSInteger tag = btn.tag;
   UIView* customView = [self.scrollView viewWithTag:tag];
}

要访问先前选择的视图,请在编辑该函数的下一个调用时存储该视图的标签。