【问题标题】:ios-Update multiple UIViews on UIScrollviewios-在UIScrollview上更新多个UIView
【发布时间】:2019-03-02 09:35:20
【问题描述】:
我有一个包含 UIScrollView 的 ViewController,其中包含一些自定义 UIView(非常简单的 uiimage + uibutton)视图,用户可以在它们之间滚动(一次一个自定义视图)。
我希望用户能够“标记”一张照片,然后显示某个文本,当用户选择另一张照片(通过使用按钮)时,我想更新之前选择的照片和当前照片上的文本选择。
我该怎么办?
在视图本身内部我无权访问前一个视图,我想我应该向视图控制器发送通知,但我无法访问我想要更新的按钮
【问题讨论】:
标签:
ios
objective-c
uiview
uiscrollview
uibutton
【解决方案1】:
您可以使用标签来识别 scrollViews 子视图。
将标签添加到子视图,将相同的标签添加到属于子视图的按钮,同时将它们添加到滚动视图。
view.tag = 1;
button.tag = 1;
那么在buttons调用的方法中,就可以使用buttons标签来获取对应的自定义view了。
-(void)buttonClick:(id)sender{
UIButton *btn = (UIButton*)sender;
NSInteger tag = btn.tag;
UIView* customView = [self.scrollView viewWithTag:tag];
}
要访问先前选择的视图,请在编辑时存储该视图的标签,以便下次调用该函数。