@@ -15,6 +15,8 @@ class BaseViewController: UIViewController {
1515 var type : BaseControllerType !
1616 var innerIndex : Int = 0
1717
18+ var currentController : UIViewController !
19+
1820 override func viewWillAppear( _ animated: Bool ) {
1921 super. viewWillAppear ( animated)
2022 setTitle ( )
@@ -59,63 +61,63 @@ class BaseViewController: UIViewController {
5961 }
6062
6163 private func setController( ) {
62- switch type {
63- case . Optimization:
64- let currentController = UIStoryboard ( name: " Optimization " , bundle: nil ) . instantiateViewController ( identifier: " OptimizationViewController " ) as! OptimizationViewController
65- currentController. view. frame = vwContainer. bounds
66- currentController. type = . Optimization
67- addChild ( currentController)
68- vwContainer. addSubview ( currentController. view)
69- currentController. didMove ( toParent: self )
70- case . Transform:
71- let currentController = UIStoryboard ( name: " Transform " , bundle: nil ) . instantiateViewController ( identifier: " TransformViewController " ) as! TransformViewController
72- currentController. innerIndex = innerIndex
73- currentController. view. frame = vwContainer. bounds
74- addChild ( currentController)
75- vwContainer. addSubview ( currentController. view)
76- currentController. didMove ( toParent: self )
77- case . UseCases:
78- let currentController = UIStoryboard ( name: " UseCases " , bundle: nil ) . instantiateViewController ( identifier: " UseCasesViewController " ) as! UseCasesViewController
79- currentController. view. frame = vwContainer. bounds
80- currentController. innerIndex = innerIndex
81- addChild ( currentController)
82- vwContainer. addSubview ( currentController. view)
83- currentController. didMove ( toParent: self )
84- case . Upload:
85- let currentController = ( UIStoryboard ( name: " UploadChoice " , bundle: nil ) . instantiateViewController ( identifier: " UploadChoiceController " ) as! UploadChoiceController )
86- currentController. view. frame = vwContainer. bounds
87- currentController. type = . Upload
88- addChild ( currentController)
89- vwContainer. addSubview ( currentController. view)
90- currentController. didMove ( toParent: self )
91- case . UploadLarge:
92- let currentController = ( UIStoryboard ( name: " UploadChoice " , bundle: nil ) . instantiateViewController ( identifier: " UploadChoiceController " ) as! UploadChoiceController )
93- currentController. view. frame = vwContainer. bounds
94- currentController. type = . UploadLarge
95- addChild ( currentController)
96- vwContainer. addSubview ( currentController. view)
97- currentController. didMove ( toParent: self )
98- case . FetchUpload:
99- let currentController = UIStoryboard ( name: " Optimization " , bundle: nil ) . instantiateViewController ( identifier: " OptimizationViewController " ) as! OptimizationViewController
100- currentController. view. frame = vwContainer. bounds
101- currentController. publicId = " https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/Leonardo_da_Vinci_%281452-1519%29_-_The_Last_Supper_%281495-1498%29.jpg/1600px-Leonardo_da_Vinci_%281452-1519%29_-_The_Last_Supper_%281495-1498%29.jpg?20150402075721 "
102- currentController. type = . FetchUpload
103- addChild ( currentController)
104- vwContainer. addSubview ( currentController. view)
105- currentController. didMove ( toParent: self )
106- case . UploadWidget:
107- let currentController = UIStoryboard ( name : " UploadWidget " , bundle : nil ) . instantiateViewController ( identifier : " UploadWidgetViewController " )
108- currentController. view . frame = vwContainer . bounds
109- addChild ( currentController)
110- vwContainer . addSubview ( currentController. view )
111- currentController . didMove ( toParent : self )
112- case . ImageWidget :
113- let currentController = UIStoryboard ( name : " ImageWidget " , bundle : nil ) . instantiateViewController ( identifier : " ImageWidgetViewController " )
114- currentController . view . frame = vwContainer . bounds
115- addChild ( currentController)
116- vwContainer . addSubview ( currentController. view)
117- currentController . didMove ( toParent : self )
118- break
64+ switch type {
65+ case . Optimization:
66+ currentController = UIStoryboard ( name: " Optimization " , bundle: nil ) . instantiateViewController ( identifier: " OptimizationViewController " ) as! OptimizationViewController
67+ currentController. view. frame = vwContainer. bounds
68+ ( currentController as! OptimizationViewController ) . type = . Optimization
69+ addChild ( currentController)
70+ vwContainer. addSubview ( currentController. view)
71+ currentController. didMove ( toParent: self )
72+ case . Transform:
73+ currentController = UIStoryboard ( name: " Transform " , bundle: nil ) . instantiateViewController ( identifier: " TransformViewController " ) as! TransformViewController
74+ ( currentController as! TransformViewController ) . innerIndex = innerIndex
75+ currentController. view. frame = vwContainer. bounds
76+ addChild ( currentController)
77+ vwContainer. addSubview ( currentController. view)
78+ currentController. didMove ( toParent: self )
79+ case . UseCases:
80+ currentController = UIStoryboard ( name: " UseCases " , bundle: nil ) . instantiateViewController ( identifier: " UseCasesViewController " ) as! UseCasesViewController
81+ currentController. view. frame = vwContainer. bounds
82+ ( currentController as! UseCasesViewController ) . innerIndex = innerIndex
83+ addChild ( currentController)
84+ vwContainer. addSubview ( currentController. view)
85+ currentController. didMove ( toParent: self )
86+ case . Upload:
87+ currentController = ( UIStoryboard ( name: " UploadChoice " , bundle: nil ) . instantiateViewController ( identifier: " UploadChoiceController " ) as! UploadChoiceController )
88+ currentController. view. frame = vwContainer. bounds
89+ ( currentController as! UploadChoiceController ) . type = . Upload
90+ addChild ( currentController)
91+ vwContainer. addSubview ( currentController. view)
92+ currentController. didMove ( toParent: self )
93+ case . UploadLarge:
94+ currentController = ( UIStoryboard ( name: " UploadChoice " , bundle: nil ) . instantiateViewController ( identifier: " UploadChoiceController " ) as! UploadChoiceController )
95+ currentController. view. frame = vwContainer. bounds
96+ ( currentController as! UploadChoiceController ) . type = . UploadLarge
97+ addChild ( currentController)
98+ vwContainer. addSubview ( currentController. view)
99+ currentController. didMove ( toParent: self )
100+ case . FetchUpload:
101+ currentController = UIStoryboard ( name: " Optimization " , bundle: nil ) . instantiateViewController ( identifier: " OptimizationViewController " ) as! OptimizationViewController
102+ currentController. view. frame = vwContainer. bounds
103+ ( currentController as! OptimizationViewController ) . publicId = " https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/Leonardo_da_Vinci_%281452-1519%29_-_The_Last_Supper_%281495-1498%29.jpg/1600px-Leonardo_da_Vinci_%281452-1519%29_-_The_Last_Supper_%281495-1498%29.jpg?20150402075721 "
104+ ( currentController as! OptimizationViewController ) . type = . FetchUpload
105+ addChild ( currentController)
106+ vwContainer. addSubview ( currentController. view)
107+ currentController. didMove ( toParent: self )
108+ case . UploadWidget:
109+ if ( currentController == nil || ( currentController as? UploadWidgetViewController == nil ) ) {
110+ currentController = UIStoryboard ( name : " UploadWidget " , bundle : nil ) . instantiateViewController ( identifier : " UploadWidgetViewController " )
111+ currentController. view . frame = vwContainer . bounds
112+ addChild ( currentController)
113+ vwContainer . addSubview ( currentController . view )
114+ currentController . didMove ( toParent : self )
115+ }
116+ case . ImageWidget :
117+ currentController = UIStoryboard ( name : " ImageWidget " , bundle : nil ) . instantiateViewController ( identifier : " ImageWidgetViewController " )
118+ currentController. view. frame = vwContainer . bounds
119+ addChild ( currentController )
120+ vwContainer . addSubview ( currentController . view )
119121 case . none:
120122 break
121123 }
@@ -139,6 +141,7 @@ enum BaseControllerType {
139141public enum UploadViewType {
140142 case Upload
141143 case UploadLarge
144+ case UploadWidget
142145}
143146
144147public enum OptimizationViewType {
0 commit comments