我正在为Webapp创建一个复杂的原型(我使用Cordova将它部署到我的iPhone),我遇到了以下问题:
DOM-Elements(不是使用JavaScript创建,而是在静态HTML文件中直接创建)存在(它们在检查器中以正确的大小显示)但不可见.有时它们根本没有被显示,有时它们被部分显示,有时它们的一部分被显示在不同的位置.检查员总是在正确的位置显示他们的"身体".
有一个奇怪的解决方案:只要在加载一侧后更改CSS属性(例如取消选中并检查检查器中任何元素的任何属性 - 有时以编程方式更改属性也有效),它们就会正确显示.问题出现在Safari和Chrome中,但不是在Firefox中(可能是Webkit问题?).这在Safari Mobile中是最糟糕的(我需要它才能最有效).
首先使用transform: translate3d(0);hack帮助,但现在不再使用了 - 我正在使用和动画大量的Flexbox元素.我只是在浏览器中要求很多?
编辑:问题似乎只有在我在一个容器中滚动后才会发生.滚动后某些(完全不相关)元素消失.
我在 CollectionView 中放置了一个 CollectionViewCell。CollectionView 的大小是通过自动布局设置的,并且可以不时更改。
我想(以编程方式)在我的 CollectionView 上设置约束,以便 CollectionViewCell 的大小响应于 CollectionView 的大小(假设 Cell 的宽度等于 CollectionView-100 的宽度并且高度应该相等)。
如何声明 Cell 和 CollectionView 之间的约束?
何时、何地以及如何设置这些约束?当 CollectionView 的大小发生变化时,我是否必须在单元格上调用 setNeedsLayout ?
我搜索了很长时间,我发现的总是关于根据内容更改单元格的大小——这不是我想要做的。我得到的唯一提示是我可能必须继承 CollectionViewLayout - 但我不确定这一点。
任何帮助表示赞赏!
我尝试将Apple为UICollectionView(https://developer.apple.com/library/prerelease/ios/samplecode/CircleLayout/Introduction/Intro.html)提供的示例代码转换为Swift.
但是,在写入时(View Controller,Line 82): self.collectionView.performBatchUpdates(self.collectionView.deleteItemsAtIndexPaths(NSArray(object: tappedCellPath)), completion: nil)
我收到了错误
Could not find member 'performBatchUpdates'
Run Code Online (Sandbox Code Playgroud)
因此,我甚至没有建筑.
这是我的完整代码:
AppDelegate.swift
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
// Override point for customization after application launch.
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.makeKeyAndVisible()
return true
}
func applicationWillResignActive(application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for …Run Code Online (Sandbox Code Playgroud)