我在我的应用程序中使用UITableViewController。这很好用,但我想知道如何为每台设备做一些小改动。 UITableViewCell高度并非在所有设备上都很棒。在iPhone 6/7和Plus型号上它非常适合,但在iPhone SE / 5和4上,行太大了。我知道Interface Builder有一个名为Vary of Traits
的函数,但是当我选择例如iPhone 4并更改UITableViewCell的高度时,它也将应用于所有其他尺寸。这就是 - 不同设备的不同单元高度 - 可能,如果是,我如何根据不同的设备高度添加不同的单元高度?
答案 0 :(得分:1)
UITableView
有一个名为heightForRowAt indexPath:
在该方法中,您可以编写逻辑,将单元格高度定义为屏幕高度,tableView高度或您需要的任何内容的比例
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return // screenHeight (or tableViewHeight) / someNumberThatFitsYourNeeds
}
答案 1 :(得分:0)
您可以在
中计算运行时单元格的高度RxTextView.textChanges(edtOtp1).filter { it.length == 1 }.subscribe { edtOtp2.requestFocus() }
RxTextView.textChanges(edtOtp2).filter { it.length == 1 }.subscribe { edtOtp3.requestFocus() }
RxTextView.textChanges(edtOtp3).filter { it.length == 1 }.subscribe { edtOtp4.requestFocus() }
RxTextView.textChanges(edtOtp4).filter { it.length == 1 }.subscribe { context.hideKeyboard(view) }
例如: 让我们假设在视图高度700的Iphone 7上完美的单元格高度为70,因此您将编码为
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat{
}
因此,使用此方法,您的单元格将始终调整视图高度的10%