ios - How to translate this objective c traitCollection to swift? -


i trying translate code in objective c link, sizing class ipad portrait , landscape modes

here code trying translate:

@interface rdtraitcollectionoverrideviewcontroller : uiviewcontroller { bool _willtransitiontoportrait; uitraitcollection *_traitcollection_compactregular; uitraitcollection *_traitcollection_anyany; }  @end  @implementation rdtraitcollectionoverrideviewcontroller  - (void)viewdidload {     [super viewdidload];     [self setupreferencesizeclasses]; }  - (void)setupreferencesizeclasses {     uitraitcollection *traitcollection_hcompact = [uitraitcollection traitcollectionwithhorizontalsizeclass:uiuserinterfacesizeclasscompact]; uitraitcollection *traitcollection_vregular = [uitraitcollection traitcollectionwithverticalsizeclass:uiuserinterfacesizeclassregular]; _traitcollection_compactregular = [uitraitcollection traitcollectionwithtraitsfromcollections:@[traitcollection_hcompact, traitcollection_vregular]];  uitraitcollection *traitcollection_hany = [uitraitcollection traitcollectionwithhorizontalsizeclass:uiuserinterfacesizeclassunspecified]; uitraitcollection *traitcollection_vany = [uitraitcollection traitcollectionwithverticalsizeclass:uiuserinterfacesizeclassunspecified]; _traitcollection_anyany = [uitraitcollection traitcollectionwithtraitsfromcollections:@[traitcollection_hany, traitcollection_vany]]; }  -(void)viewwillappear:(bool)animated { _willtransitiontoportrait = self.view.frame.size.height > self.view.frame.size.width; }  - (void)viewwilltransitiontosize:(cgsize)size withtransitioncoordinator:(id<uiviewcontrollertransitioncoordinator>)coordinator { _willtransitiontoportrait = size.height > size.width; }  -(uitraitcollection *)overridetraitcollectionforchildviewcontroller:(uiviewcontroller *)childviewcontroller { uitraitcollection *traitcollectionforoverride =           (_willtransitiontoportrait) ? _traitcollection_compactregular :    _traitcollection_anyany; return traitcollectionforoverride; } @end 

and here have, keep in mind renamed of inital variables under class declaration:

import uikit  class viewcontroller: uiviewcontroller {  var willtransitiontoportrait:bool = false var compactregular = uitraitcollection() var anyany = uitraitcollection()  override func viewdidload() {     super.viewdidload()     // additional setup after loading view, typically nib.     setupreferencesizeclasses() }  func setupreferencesizeclasses() {      var traitcollection_hcompact = uitraitcollection(horizontalsizeclass: uiuserinterfacesizeclass.compact)     var traitcollection_vregular = uitraitcollection(verticalsizeclass: uiuserinterfacesizeclass.regular)     compactregular = uitraitcollection(traitsfromcollections: [traitcollection_hcompact, traitcollection_vregular])      var traitcollection_hany = uitraitcollection(horizontalsizeclass: uiuserinterfacesizeclass.unspecified)     var traitcollection_vany = uitraitcollection(verticalsizeclass: uiuserinterfacesizeclass.unspecified)     anyany = uitraitcollection(traitsfromcollections: [traitcollection_hany, traitcollection_vany]) }  override func viewwillappear(animated: bool) {      willtransitiontoportrait = self.view.frame.size.height > self.view.frame.size.width }  override func viewwilltransitiontosize(size: cgsize, withtransitioncoordinator coordinator: uiviewcontrollertransitioncoordinator) {      willtransitiontoportrait = size.height > size.width }   func overridetraitcollectionforchildviewcontroller(uiviewcontroller) -> childviewcontroller {      var traitcollectionforoverride = (willtransitiontoportrait) ? compactregular : anyany      return traitcollectionforoverride; }  override func didreceivememorywarning() {     super.didreceivememorywarning()     // dispose of resources can recreated. } 

}

i think have last function cant figure out translates to. appreciated.

i think missing "override" in last function, try replace below code:

override func overridetraitcollectionforchildviewcontroller(childviewcontroller: uiviewcontroller) -> uitraitcollection! {     // } 

here complete code:

import uikit    class viewcontroller: uiviewcontroller {            var willtransitiontoportrait:bool = false      var compactregular = uitraitcollection()      var anyany = uitraitcollection()            override func viewdidload() {          super.viewdidload()          // additional setup after loading view, typically nib.          setupreferencesizeclasses()      }            func setupreferencesizeclasses() {                    var traitcollection_hcompact = uitraitcollection(horizontalsizeclass: uiuserinterfacesizeclass.compact)          var traitcollection_vregular = uitraitcollection(verticalsizeclass: uiuserinterfacesizeclass.regular)          compactregular = uitraitcollection(traitsfromcollections: [traitcollection_hcompact, traitcollection_vregular])                    var traitcollection_hany = uitraitcollection(horizontalsizeclass: uiuserinterfacesizeclass.unspecified)          var traitcollection_vany = uitraitcollection(verticalsizeclass: uiuserinterfacesizeclass.unspecified)          anyany = uitraitcollection(traitsfromcollections: [traitcollection_hany, traitcollection_vany])      }            override func viewwillappear(animated: bool) {                    willtransitiontoportrait = self.view.frame.size.height > self.view.frame.size.width      }            override func viewwilltransitiontosize(size: cgsize, withtransitioncoordinator coordinator: uiviewcontrollertransitioncoordinator) {                    willtransitiontoportrait = size.height > size.width      }            override func overridetraitcollectionforchildviewcontroller(childviewcontroller: uiviewcontroller) -> uitraitcollection! {      //          var traitcollectionforoverride = (willtransitiontoportrait) ? compactregular : anyany                    return traitcollectionforoverride;      }                  override func didreceivememorywarning() {          super.didreceivememorywarning()          // dispose of resources can recreated.      }  }


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -