我有一个不使用自动布局的UIView,并且根据主视图中X和Y坐标的百分比显示一些组件.
以前我会运行一个函数来更新他们在didRotateFromInterfaceOrientation中的位置,但是我发现这在iOS8中已被弃用了.
我看了一下viewWillTransitionToSize,但它给出了奇怪的结果,并且似乎没有viewDidtransitionToSize函数.
有没有一种简单的方法(在Swift中)在设备旋转后运行一个函数?
可能有人请帮助我认识一个水龙头,当用户点击该标题在导航栏?
我想识别这个tap,然后动画tableHeaderView出现.可能会向下滑动TableView.
这个想法是用户可以选择一个快速选项(来自tableViewHeader)来重新填充TableView.
但是我无法识别任何水龙头.
我正在使用Swift.
谢谢.
我UISplitViewController每次点击Master VC中的一行时都会使用,我可以看到它viewDidLoad()在Detail VC中运行.
这是否意味着我每次点击都会创建一个新的Detail VC实例?
如果是这样,我如何检查Detail VC是否正确卸载并且我不只是创建越来越多的新Detail VC?
我在斯威夫特有点失落.以前我可以在dealloc()中使用NSLog并查看UIViewController正确的卸载.
我在这里Swift有一个deinit函数,但从未调用过:
deinit {
println("\(__FILE__.lastPathComponent)) : \(__FUNCTION__)")
NSNotificationCenter.defaultCenter().removeObserver(self)
}
Run Code Online (Sandbox Code Playgroud)
1)我应该把我的观察员移到哪里?
2)当我查看Xcode中的Debug Navigator时,内存使用率一直在上升而且从不下降.
if segue.identifier == "addEvent" {
if let controller = (segue.destinationViewController as UINavigationController).topViewController as? ManageViewController {
controller.manageEvent = nil
controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
controller.navigationItem.leftItemsSupplementBackButton = true
}
}
Run Code Online (Sandbox Code Playgroud)
我没有做过与我见过的很多例子不同的事情,但我担心deinit没有被召唤
deinit正在工作 - 问题是委托停止被调用(见下面的答案)我原来的非工作代码是:
protocol ManageViewDelegate {
func pressedButton(sender: AnyObject)
}
class ManageView: UIView {
var delegate: ManageViewDelegate? = nil
...
} …Run Code Online (Sandbox Code Playgroud)