{"_id":"561949fced64430d0063f0bb","version":{"_id":"552829408962f339009a6790","project":"552829408962f339009a678d","__v":26,"createdAt":"2015-04-10T19:49:20.516Z","releaseDate":"2015-04-10T19:49:20.516Z","categories":["552829418962f339009a6791","55284ed68962f339009a67e1","55286c73391a362500d9b3f4","552918f6b316811900149f59","5529b255d739240d00a3483e","553287590a578a0d008d4ff5","55329385e7d1fa0d003fc946","5550b55200420e0d00d1312f","55525fca953c9c0d00f507d7","559199695631432f002d358a","559d8d96980b801700d5ec7e","55c5e833cccdeb2d004e24b9","55d76504f662951900fc0e7d","55ea213cc62aa02f008229cd","56157b750f5ed00d00483dd8","561981fbac0924170069f4e8","561b8b1ea430930d0037ea67","563417428b86331700b488ca","56cd785bface161300dae0ec","56cdcc6e70db8a15006395f4","56cdf1b749abf10b0036a34a","56cedc8ce50c9c1b00830423","56e97ba8d825061900d1ac83","570d505228e6900e00477229","573614ca2ab52e1700c8e851","57d556a2496a3117004d70cf"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"parentDoc":null,"__v":1,"user":"55282916d9e1db2d00cd923c","category":{"_id":"56157b750f5ed00d00483dd8","version":"552829408962f339009a6790","__v":9,"pages":["56157bbcf2d81d0d006c895b","5618eb1bf908460d00daf40e","561949613217dd0d003ab868","561949fced64430d0063f0bb","56194d8088fdee0d00fb9c76","56cddce649abf10b0036a313","56cdded9e538330b0021ab24","56df63ef67ccff1700c99efa","56df659a723dd61700ea1481"],"project":"552829408962f339009a678d","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-10-07T20:07:17.140Z","from_sync":false,"order":5,"slug":"ios-sdk","title":"iOS SDK"},"project":"552829408962f339009a678d","updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-10-10T17:25:16.343Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"For customizing logic of app ```ActorSDK``` have ```delegate``` field that describes how to operate. Just implement ```ActorSDKDelegate``` delegate and set it to ActorSDK.\nBefore customization, we recommend you to take a look at sources of controllers that you want to replace to make your process much easier.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"/// Actor SDK Delegate that helps you customize logic of messenger\\npublic protocol ActorSDKDelegate {\\n    /// Create initial Auth contoller. With Navigation controller (if needed).\\n    public func actorControllerForAuthStart() -> UIViewController\\n    /// Create root logged in controller. With Navigation controller (if needed).\\n    public func actorControllerForStart() -> UIViewController\\n    /// User profile controller\\n    public func actorControllerForUser(uid: Int) -> ActorSDK.AAViewController\\n    /// Group profile controller\\n    public func actorControllerForGroup(gid: Int) -> ActorSDK.AAViewController\\n    /// Conversation controller\\n    public func actorControllerForConversation(peer: ACPeer) -> UIViewController\\n    /// Configuration of bubble cells\\n    public func actorConfigureBubbleLayouters(builtIn: [AABubbleLayouter]) -> [AABubbleLayouter]\\n}\",\n      \"language\": \"swift\"\n    }\n  ]\n}\n[/block]","excerpt":"Replace main app screens with your own","slug":"customize-screens","type":"basic","title":"Customize screens"}

Customize screens

Replace main app screens with your own

For customizing logic of app ```ActorSDK``` have ```delegate``` field that describes how to operate. Just implement ```ActorSDKDelegate``` delegate and set it to ActorSDK. Before customization, we recommend you to take a look at sources of controllers that you want to replace to make your process much easier. [block:code] { "codes": [ { "code": "/// Actor SDK Delegate that helps you customize logic of messenger\npublic protocol ActorSDKDelegate {\n /// Create initial Auth contoller. With Navigation controller (if needed).\n public func actorControllerForAuthStart() -> UIViewController\n /// Create root logged in controller. With Navigation controller (if needed).\n public func actorControllerForStart() -> UIViewController\n /// User profile controller\n public func actorControllerForUser(uid: Int) -> ActorSDK.AAViewController\n /// Group profile controller\n public func actorControllerForGroup(gid: Int) -> ActorSDK.AAViewController\n /// Conversation controller\n public func actorControllerForConversation(peer: ACPeer) -> UIViewController\n /// Configuration of bubble cells\n public func actorConfigureBubbleLayouters(builtIn: [AABubbleLayouter]) -> [AABubbleLayouter]\n}", "language": "swift" } ] } [/block]