ios - 关于使用 iOS 和 swift 显示部分后 View 的想法

标签 ios swift uitableview uiview swrevealviewcontroller

我不确定这个问题的标题是否合适。但下面是我想要实现的目标。
我尝试实现一个 UI 设计,其中顶层是一个 UITableView,而后层是一个 UIView。当点击 UITableView 上的单元格时,它将显示 UIView。这是棘手的部分,我希望 UITableView 向右滑动并显示 UIView 的 2/3。所以从左起 2/3 的屏幕是 UIView,1/3 的屏幕是 UITableView。
这是我正在谈论的内容的屏幕。 enter image description here enter image description here
我尝试了 SWRevealViewController,但这并不是我想要的。
1. 当我点击单元格时,没有任何反应。但我能够使用 panGesture 将 UITableView 拖动到右侧并显示背面 UIView 的 2/3。
2. 如果我将单元格的转场链接到 stroyboard 中的 UIView,当我点击单元格时,它只会显示整个 UIView。

我会很感激一些想法并为我指明正确的方向。

最佳答案

有一种方法可以做到这一点,即在 UIView 之上添加 UITableView。

首先,在后面添加 UIView(可能默认为第一个)。 然后,像这样在 UIView 之上添加 UITableView。

yourUIView.frame = self.view.frame;
self.view.addSubview(yourUIView);

yourUITableView.frame = self.view.frame;
self.view.addSubview(yourUITableView);

之后,您选择一个单元格,将 UITableView 动画化到屏幕的 2/3。

UIView.animateWithDuration(0.5) { 
    yourUITableView.frame = CGRectMake(self.view.frame.size.width/3*2, 0, yourUITableView.frame.size.width, yourUITableView.frame.size.height);
}

关于ios - 关于使用 iOS 和 swift 显示部分后 View 的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36659750/

相关文章:

swift - 对成员 'tableView(_:didSelectRowAt:)' (Swift) 的模糊引用

ios - UITapGestureRecognizer 打破了 UITableView didSelectRowAtIndexPath

ios - UILabel 的 setAlpha 动画不起作用

ios - 如何在具有泛型类型的类中的 Realm 对象上使用自定义初始化程序?

ios - UITabBar 在单击时摆脱了屏幕顶部的 UINavigation 项目

Xcode多次显示相同的功能

ios - 使用 UITableViewCell 作为 tableHeaderView

ios - 在 RxSwift 中一次只执行一次 subscribe 方法

json - 在 Swift 4 中,如何使用 Codable 解码 JSON 并在解码对象之间创建引用?

uitableview - Xcode 6中的UITableView中的自动调整大小问题