- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我们创建自定义 View 时,我们将 View 文件的所有者设置为自定义类,并使用 initWithFrame 或 initWithCode 对其进行实例化。
当我们创建 customUITableViewCell 时,我们将 View 的类设置为自定义类,而不是文件所有者的类。然后注册所有的 Nib 等等。通过这种方式,我们总是需要将 xibs 注册到 UIViewController 和
let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath)
等等。
我发现我不想一直在我想使用 customUITableViewCell 的地方注册 nib。所以我想在我的 customUITableCell 中初始化 xib,就像创建 customUIView 的过程一样。我成功了。这是步骤。
我的问题是创建 customUITableCell 的首选方式是什么?使用此方法,无需注册 nib,我们可以在需要的地方调用 customCell,而无需加载/注册 nib。
我的自定义类名为 myView:UITableViewCell
nhập khẩu UIKit
class myView: UITableViewCell {
var subView: UIView!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initSubviews()
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
initSubviews()
}
func initSubviews(){
subView = Bundle.main.loadNibNamed("TableViewCell", owner: self, options: nil)?.first as! UIView
subView.autoresizingMask = UIViewAutoresizing(rawValue: UIViewAutoresizing.RawValue(UInt8(UIViewAutoresizing.flexibleWidth.rawValue) | UInt8(UIViewAutoresizing.flexibleHeight.rawValue)))
self.addSubview(subView)
}
}
在 UIVivController 中,我没有注册和使用 nib
let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath)
相反,我这样做了。
让 cell = myView(style: .default , reuseIdentifier: "TableViewCell")
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var tableStyle: UITableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
tableStyle.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
tableStyle.delegate = self
tableStyle.dataSource = self
view.addSubview(tableStyle)
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100.00
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1 }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = myView(style: .default , reuseIdentifier: "TableViewCell")
return cell
}
}
感谢您的宝贵时间!!!
1 Câu trả lời
您的方法意味着每次 UITableView
请求一个新单元格时,您都是从头开始创建一个全新的单元格。这意味着它必须:
这并不比使用自定义 View 的长 ScrollView 更好。
UITableView
的美妙之处在于它优化了大部分过程并重新使用单元格,从而大大降低了单元格多于屏幕显示的性能成本。 使用传统(正确)方法,步骤 1-4 只需执行一次.
扩展 xib 中的差异:
当使用 UITableView
创建单元格时,您只需要给它 nib,系统就会在 nib 中查找 UITableViewCell
。一个简单的 UIView
将不起作用。
您实际上Có thểTrong của bạnxib
中使用您的自定义类对UIView
进行子类化。恰好规范是使用 fileOwner
,这主要是因为这是在前 Storyboard时代要求将 nib 与 UIViewControllers
一起使用时的规范
关于ios - 为什么我们不遵循使用 xib 创建 customTableViewCell 的相同过程,就像使用 xib 创建 customView 一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48590736/
我正在决定使用 MonoTouch 进行开发时哪些地方需要使用 .xib 文件。 我当前的项目需要与 iPhone 和 iPad 配合使用,所以我想知道使用 Interface Builder 是
我出于某个目的创建了 4 个宽度为 200、高度为 200 的 xib……但是如果我想在一个 xib 中加载所有 xib,我不知道如何实现……我有几个想法 1.能否让所有的xib都按组数组加载? 2.
我正在处理 Ipad 的应用程序。在这个应用程序中,我的第一类 Xib 上有一个 UIButton,现在我想在单击按钮时在第一类 XIB 中添加第二类 XIB。我知道如何调用第二类 XIB ..就是这
我的第二个 View Controller 中有标签。我想将按钮索引从 firstviewcontroller 传递到 secondviewcontroller 标签。当我按下按钮时,它转到第二个 V
描述:- 我正在为自定义框架编码,为此我到处都使用 XIB,现在我想在我现有的 XIB 中调用另一个 XIB,它的调用非常好但无法执行调用 XIB 的按钮操作。提前致谢 这是代码。 let bundl
我正在寻找一种方法来重用一个 .xib 文件中的内容并将其加载到多个其他 .xib 文件中。原因是我可以在我的应用程序的所有页面上重复使用我的部分设计。我知道在 android 编程中,您可以通过在设
我知道 View XIB 已经有一个 View ,但是还有其他差异吗?我读过的教程说创建一个 View XIB,更改类并删除 View ,然后插入一个 TableView 并重新建立连接(文件所有者到
首先,这是我的 View 层次结构: - Table view -- Table view cell (loaded from custom xib) --- Collection view ----
我想重新使用一些 .xib 文件作为我的 iOS 应用主要 View 的模板。有人能告诉我是否有可能在 iOS 中实现一个“类似模板”的系统,例如:Header、Logo、Footer,并将它们作为单
我如何设置一个 ViewController 来根据某些情况显示一个 View 或另一个 View ? 我有 ViewControllerA.xib 和 ViewControllerB.xib。两者都
有一些类似的帖子,但我已经搜索了很多答案,但不幸的是我没有找到。 我想要什么:我正在使用 xib 文件创建 View 。假设它的类是 BaseView。在这个 baseView 中,我有一个自定义 s
我有一个带有 xib 文件/类问题的奇怪的自动布局。我在使用 xib 文件的 Swift 中创建了一个自定义通知 View (UIView 子类)。 当设备以纵向加载时,通知很好。 当我旋转到横向时,
如果我在 ChildView.xib 中创建自定义 UIView - 我如何从 MainWindow.xib 中引用它? 我试图将一个 UIView 拖到 MainWindow.xib 并将其与同一个
我正在使用 IB 设计一个特定的按钮(带有一些标签、imageView 和其他东西)。 然后我想在另一个 xib 中使用那个 xib 对象(按钮),我有 6 个该按钮的对象。 我知道我可以使用类标识符
我在网上搜索了一段时间,但没有找到答案...... 升级到通用应用程序时,Xcode4 是否可以将 iPhone.xib 转换为 iPad.xib?!?在 Xcode 3 中,可以从选定的 iphon
我看过很多关于将 iPhone xib 转换为 iPad xib 的帖子和教程,但我想反其道而行之。 我能找到的唯一资源是: Convert iPad application to iPhone? 并
有什么方法可以使用相同的 xib 为 iPhone4 和 iPhone5 设计我的类吗? 最佳答案 是的,您可以使用相同的 XIB 通过使用自动布局为 iPhone 4 和 iPhone 5 进行设计
是否有键盘快捷键可以从当前的 xib 文件跳转到它的类(ViewController)?然后再次从它的类返回到它的 xib 文件? 我一直使用 ctrl-command-up/down 在标题和源代码
我对 this 有疑问项目,它没有 xib 文件或 Storyboard。该项目使用以下代码立即将 appdelegate 文件调用到主文件中: int retVal = UIApplicationM
我有一个正在运行的应用程序,其中包含一个导航 Controller 、两个 View Controller 、两个 View 、一个模型对象,并且没有 xib 文件。 View 是以编程方式创建的。现
Tôi là một lập trình viên xuất sắc, rất giỏi!