小编Mat*_*266的帖子

为什么insertRowsAtIndexPaths总是导致TableView滚动到顶部?

几个小时以来我一直在讨论这个问题,但每次我尝试这样的事情:

    self.dataArray.append(newCellObj)
Run Code Online (Sandbox Code Playgroud)

然后我这样做:

    self.tableView.beginUpdates()
    self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
    self.tableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)

UITableView将自动滚动到页面顶部.

即使我尝试:

    self.tableView.scrollEnabled = false
    self.tableView.beginUpdates()
    self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
    self.tableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)

即使滚动完全禁用,UITableView仍将滚动到顶部.是什么原因导致ScrollView在insertRowsAtIndexPaths调用之后滚动到顶部?

我对此问题的唯一解决方案是使用此方法:

    self.tableView.reloadData()
Run Code Online (Sandbox Code Playgroud)

代替.如果我使用reloadData而不是它很好,但是我失去了我真正想保留的漂亮动画.

我也有,self.tableView.scrollsToTop = false并且我已经尝试了许多其他配置,可能会以某种方式禁用滚动,但是,有一些事情在这之后覆盖了insertRowsAtIndexPaths

uitableview ios swift

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

ASP.NET应用程序可以作为localhost访问,但不能访问127.0.0.1

我正在测试一个ASP.NET应用程序,默认情况下,调试模式下我的项目的URL当然是这样的:

http://localhost:61660/

现在,来自Linux的世界,并将我在网络课程中所知道的东西放在一起,我知道你也可以使用127.0.0.1或你的局域网IPv4地址,而不是使用localhost,这可能是10.75.您可以使用ipconfig命令获得的88.252.

但是,当你进入一个微软网络时,所有这些网络的超级基础和基本方面都会崩溃,Windows似乎采用这些规则并在顶层添加一层以进一步使计算机网络复杂化,这些计算机网络已经足够复杂,增加了网络WORKGROUPS和"计算机名称"似乎表现得像某种内联网DNS.

所以我的主要问题是,在调试ASP.NET应用程序时,为什么这个URL在Visual Studio中完美运行:

http://localhost:61660/

但这两个如下:

http://127.0.0.1:61660/

http://10.75.88.252:61660/

它们完全不起作用,即使localhost与127.0.0.1相同......

那么有谁知道这可能是什么原因?在Windows Server上构建Web应用程序时,是否需要配置防火墙等额外的东西?

c# asp.net

2
推荐指数
1
解决办法
4693
查看次数

标签 统计

asp.net ×1

c# ×1

ios ×1

swift ×1

uitableview ×1