ios – UITableViewWrapperView和UITableView大小与autolayout不同

发布时间:2020-03-02 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了ios – UITableViewWrapperView和UITableView大小与autolayout不同大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立一个聊天一切似乎都很好,但我碰到了一些“错车”的问题.

我有UIViewController与UITextView栏输入消息和UITableView.
他们在这个约束:“V:| – (64) – [chatTable] [sendMessageBar] – (键盘) – |”.
当键盘不出来时,该约束的常数为0.并且在键盘输出之后,我将常数增加到键盘高度.

当键盘不出来时:

self.table.contentSize = (375.0,78.5)
self.table.bounds = (0.0,-490.0,375.0,568.5)
self.table.frame = (0.0,64.0,568.5)
self.table.subviews[0].frame (UITableViewWrapperView) = (0.0,0.0,568.5)

当键盘出来时:

self.table.contentSize = (375.0,-274.0,352.5
self.table.frame = (0.0,352.5)
self.table.subviews[0].frame (UITableViewWrapperView) = (0.0,-137.5,137.5)
self.table.subviews[0].frame (UITableViewWrapperView) = (0.0,137.5)

因此,在增加约束常数后,UITableViewWrapperView的大小与其超视图UITableView不同.有没有办法来解决这个问题 ?我会假设UITableViewWrapperView会根据UITableView改变其框架和界限,但是它不会.

任何想法,问题在哪里,我该如何解决?

并补充说:

经过一些更多的研究 – 似乎它发生在viewWillLayoutSubviews和viewDidLayoutSubviews之间的某个地方.这有点奇怪吗

override func viewWillLayoutSubviews() {
    println("WrapperView Frame :991: \(self.table.subviews[0].frame)") \\ WrapperView Frame :991: (0.0,568.5)
    super.viewWillLayoutSubviews()
    println("WrapperView Frame :992: \(self.table.subviews[0].frame)") \\ WrapperView Frame :992: (0.0,568.5)
}

override func viewDidLayoutSubviews() {
    println("WrapperView Frame :6: \(self.table.subviews[0].frame)") \\ WrapperView Frame :6: (0.0,137.5)
    super.viewDidLayoutSubviews()
    println(">> viewDidLayoutSubviews")
}

所以似乎有一些事情会混乱UITableViewWrapperView

解决方法

似乎这是一个错误(与这个bug一起玩了整整一天为我)
最后 this解决方法有帮助:
for (UIView *subview in tableView.subviews)
{
    if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewWrapperView"])
    {
        subview.frame = CGRectMake(0,tableView.bounds.size.width,tableView.bounds.size.height);
    }
}

大佬总结

以上是大佬教程为你收集整理的ios – UITableViewWrapperView和UITableView大小与autolayout不同全部内容,希望文章能够帮你解决ios – UITableViewWrapperView和UITableView大小与autolayout不同所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。