我有三个视图控制器(VC1,父视图控制器和子视图控制器).加载ParentVC时,如何将数据从VC1传递到子视图控制器?通常我可以在First View Controller中使用它
var text = "Hello"
var sVC = SecondViewController()
sVC.string = text
Run Code Online (Sandbox Code Playgroud)
它将传递Hello给string第二个视图控制器中的变量.然后做同样的事情将数据从第二视图控制器传递到第三视图控制器.但不幸的是,这种逻辑不起作用.我试图将数据从VC1传递给ParentVC然后传递给ChildVC.我也尝试将数据从VC1直接传递给ChildVC,但这似乎也不起作用.
这就是我所拥有的
import UIKit
class ViewController1: UIViewController {
var a = "Test"
override func viewDidLoad() {
var pVC = ParentViewController()
pVC.a = a
}
}
Run Code Online (Sandbox Code Playgroud)
我能够将数据传递给父视图控制器并打印,Test但它不适用于子视图控制器
import UIKit
class ParentViewController: UIViewController {
var pageMenu: CAPSPageMenu?
var a = ""
func test() {
var cvC = ChildViewController(frame: self.view.frame)
cvC.a = a
}
override func viewDidLoad() {
println(a)
}
override func viewWillAppear(animated: …Run Code Online (Sandbox Code Playgroud) 如何将UIView转换为图像.我发现这个转换uiview为.png图像,但我不熟悉Objective-C.我把它翻译成斯威夫特,但它并没有那么顺利.可以帮忙吗?
UIGraphicsBeginImageContext(myView.frame.size);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *data=UIImagePNGRepresentation(viewImage);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *strPath = [documentsDirectory stringByAppendingPathComponent:@"myimage.png"];
[data writeToFile:strPath atomically:YES];
Run Code Online (Sandbox Code Playgroud)