小编WKL*_*WKL的帖子

动态UITableView高度

我想设置UITableView以匹配表视图中所有内容的高度.

这是我的故事板

在此输入图像描述

这个问题是顶部和底部的ImageView在屏幕上始终是静态的.

在此输入图像描述

假设桌面视图中有10个项目,但由于屏幕尺寸限制,只有7个项目显示.我希望在用户能够看到底部的ImageView之前显示所有10个.(顺便说一句,所有3个视图,即图像视图和tableview都在uiscrollview中)

理想

在此输入图像描述

我必须处理的一些其他限制是表视图中的项目数是动态的,这意味着它可以是任何通常小于10的数量,我稍后将从api中检索.根据内容,细胞高度也是动态的.

我刚刚开始使用一些简单的代码

class ExampleViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
      @IBOutlet weak var tableView: UITableView!

  var items: [String] = [
    "Item 01", "Item 02", "Item 03", "Item 04", "Item 05",
    "Item 06", "Item 07", "Item 08", "Item 09", "Item 10"]

  override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
  }

  func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.items.count;
  }

  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell
    cell.textLabel?.text …
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift

11
推荐指数
5
解决办法
1万
查看次数

如何在从单片架构到微服务架构的过渡之间管理多个登台环境

我的公司最近着手将平台架构从单片架构更改为微服务架构。整个迁移可能要花费数年,所以到现在为止,我们仍然需要维护当前的整体应用程序,同时缓慢地拆除该应用程序。

我们暂时通过面向服务的体系结构为某个模块(其中数据库仍连接到单体应用程序的数据库)拆除了单体应用程序,而另一些则直接过渡到微服务(如果适用,微服务拥有自己的数据库)。

我们会随时准备发布功能,而不是遵循发布窗口。每个团队都有自己的阶段来管理该阶段,因此我们有多个阶段环境(总共11个),每个阶段都有自己的一组遗留的整体应用程序。

在此处输入图片说明

在过渡到微服务架构时(虽然我了解到,当我们完全过渡到微服务架构时,整个公司只有1个阶段),我们将需要维护所有这些阶段,这意味着我们将需要拥有一个阶段的副本。每个登台环境中的微服务。

在此处输入图片说明

(并不是要在此解决方案的方向上指导答案。如果在其他方向上有任何答案,则更可取,因为我们可以有更多选择和变化来考虑利弊),我们的想法之一是针对每个问题在db中,我们还有另外一列来标记此数据行用于哪个阶段。因此,我们可以维护1个微服务的单个实例以进行多个阶段。问题在于,对于每个API调用,客户端都需要指定用于哪个阶段。这使每个服务的开发变得复杂(需要满足要筛选的登台数据库的需求),使端点更难以调用(因为您需要指定需要访问的登台数据库)),更重要的是,这些是多余的代码,这些代码在生产中应该没有。

我们面临的问题是,随着微服务数量的增长,这将占用大量服务器资源(我们决定使用本地服务器来托管我们的kubernetes和Proxmox VM来保留传统的整体组件)。是否有任何基础架构可以减少为此所需的资源

architecture microservices devops

6
推荐指数
1
解决办法
302
查看次数

在 uitableview 底部放置一个单元格

如何在 UITableView 底部放置“cellBOTTOM”?我想过使用表格视图页脚,但这会导致如果没有足够的单元格来填满整个屏幕,页脚不会粘在屏幕底部,而是正好在“cellLAST”的正下方。我需要“cellBOTTOM”位于屏幕底部和表格底部

+--------------------+    +--------------------+    +--------------------+
|       SCREEN       |    |       SCREEN       |    |       SCREEN       |  
| +----------------+ |    | +----------------+ |    | +----------------+ |
| |     TABLE      | |    | |     TABLE      | |    | |     TABLE      | |
| | +------------+ | |    | | +------------+ | |    | | +------------+ | |
| | |  cellLAST  | | |    | | |   cell 1   | | |    | | |   cell 1   | | |
| | +------------+ …
Run Code Online (Sandbox Code Playgroud)

uitableview ios

5
推荐指数
1
解决办法
1468
查看次数

如何将enum作为参数传递给协议中的可选方法

enum SearchBarAction {
  case Cancel
  case Bookmark
  case Location
  case Category
  case Filter
}

@objc protocol SearchBarNavigatorDelegate: class {
  optional func searchBarNavigator(clicked: SearchBarAction)
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误

Method cannot be a member of an @objc protocol because the type of the parameter cannot be represented in Objective-C
Run Code Online (Sandbox Code Playgroud)

我需要这个方法是可选的,因此我不能删除@objc来解决这个问题.

在将枚举作为参数传递给方法时,有没有办法使用可选的协议方法?

objective-c ios swift

4
推荐指数
1
解决办法
1419
查看次数