如何根据按下的 UIButton 重新填充表格视图?

Posted

技术标签:

【中文标题】如何根据按下的 UIButton 重新填充表格视图?【英文标题】:How can I repopulate a tableview depending on which UIButton is pressed? 【发布时间】:2016-07-02 19:06:02 【问题描述】:

我正在编写一个图片库应用程序,该应用程序具有多个类别,用户可以在其中查看照片。在其中一个菜单上,有三个 UIButtons 列出了照片的类别:1970 年代、1980 年代、1990 年代。

当用户点击“1970s”时,它会进入一个表格视图,其中有一组照片和标签。每个表格单元格都有自己的照片和相应的标签,指示照片的日期和位置。当用户点击一个单元格时,它会导致一个 UIImage 视图和一个滚动视图,其中可以全屏查看图像并缩放/平移。 UIImage 视图上还有一个小弹出视图,可以通过按钮显示。

我遇到的问题是表格视图、图像视图和弹出视图占用了三个故事板“控制器”。我想在整个应用程序中的许多不同类别(UIButtons)中复制这个表格视图、全屏图像视图和弹出视图。 有没有办法根据按下的 UIButton 重新填充表格视图?

感谢您的帮助!我在 Swift 3 中并使用 Xcode。

【问题讨论】:

【参考方案1】:
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    return dataArray.count;


- (void) 1970Action
    dataArray = 1970ImagesArray;
    [self.tableView reloadData];

- (void) 1980Action
    dataArray = 1980ImagesArray;
    [self.tableView reloadData];

- (void) 1990Action
    dataArray = 1990ImagesArray;
    [self.tableView reloadData];

【讨论】:

感谢您的回复!可以将其翻译为 Swift 还是此代码可以与 Swift 一起使用?再次感谢。 @Miles 是的,还没有真正学会这个快速的行话。但是您所要做的就是创建四个 NSArray,并在您的按钮操作中将 dataArray 切换到相应的图像数组并确保重新加载您的 tableView。还将 tableView 的 dataSource 方法 - numberOfRows 设置为 dataArray 计数

以上是关于如何根据按下的 UIButton 重新填充表格视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OBJECTIVE C 的 UITableViewCell 中更改先前按下的 UIButton 标签?

如何将自定义 UIControl 中按下的 UIButton 传递给我的视图控制器?

如何让按钮根据按下的行显示不同的视频?

如何根据按下的按钮取消隐藏标记的详细信息披露按钮

如何根据本地 json 文件填充表格视图?

用pickerview填充tableview