{"id":2155,"url":"https://github.com/SergioChan/SCTrelloNavigation","last_synced_at":"2025-08-02T23:32:02.975Z","repository":{"id":92198841,"uuid":"45625349","full_name":"SergioChan/SCTrelloNavigation","owner":"SergioChan","description":":clipboard: An iOS native implementation of a Trello Animated Navagation. See more at https://dribbble.com/shots/2114816-Trello-Navigation. iOS上类似trello的导航动效框架实现。","archived":false,"fork":false,"pushed_at":"2017-01-04T10:50:59.000Z","size":4027,"stargazers_count":801,"open_issues_count":3,"forks_count":95,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-08-16T03:32:46.698Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SergioChan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-11-05T16:50:37.000Z","updated_at":"2024-08-09T16:00:50.000Z","dependencies_parsed_at":"2023-06-07T23:15:31.756Z","dependency_job_id":null,"html_url":"https://github.com/SergioChan/SCTrelloNavigation","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioChan%2FSCTrelloNavigation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioChan%2FSCTrelloNavigation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioChan%2FSCTrelloNavigation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioChan%2FSCTrelloNavigation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SergioChan","download_url":"https://codeload.github.com/SergioChan/SCTrelloNavigation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228503135,"owners_count":17930517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:16:06.100Z","updated_at":"2024-12-06T17:30:47.031Z","avatar_url":"https://github.com/SergioChan.png","language":"Objective-C","readme":"# SCTrelloNavigation\nAn iOS native implementation of a Trello Animated Navigation. See more at https://dribbble.com/shots/2114816-Trello-Navigation. \n\niOS上类似trello的导航动效控件实现。\n\n\u003e *最新的Swift实现已经由[小青同学](https://github.com/DianQK)完成：[SwiftTrelloNavigation](https://github.com/DianQK/TrelloNavigation)*\n\n## Preview \n![image](https://raw.githubusercontent.com/SergioChan/SCTrelloNavigation/master/Image/preview.png)\n\n![image](https://raw.githubusercontent.com/SergioChan/SCTrelloNavigation/master/Image/previewgif.gif)\n\n## Intro\n\n设计创意和动效全部来自于[Aurélien Salomon](https://dribbble.com/aureliensalomon)在Dribbble上的作品：[https://dribbble.com/shots/2114816-Trello-Navigation](https://dribbble.com/shots/2114816-Trello-Navigation)。这是一个在iOS上原生实现的相似交互的开源库，没有百分百和设计原稿一致。\n\n这种导航的交互模式可以让你在不同的列表中切换，并且列表的切换对你的干扰可以减少到最小程度。\n\nThe design was originated from [Aurélien Salomon](https://dribbble.com/aureliensalomon)'s work on Dribbble:[https://dribbble.com/shots/2114816-Trello-Navigation](https://dribbble.com/shots/2114816-Trello-Navigation). This is an open-sourced iOS-native libray similar to this design, not 100%  equivalent to the original desgin.\n\nThis navigation interactive mode can make you easier to switch among different boards, while disturbing you the least when you are switching.\n \n## Version\n1.1\n\n## Environment\niOS 8.0 以上 iPhone 5s/iPhone6/iPhone6 Plus 测试通过\niOS 8.0 Above iPhone 5s/6/6 Plus Tested\n## Usage\n\n初始化整个控件比较简单:\n\n```Objective-C\n// 初始化其实只要一句话的\nself.trelloView = [[TrelloView alloc]initWithFrame:CGRectMake(0.0f, 0.0f, ScreenWidth, ScreenHeight) dataSource:self];\n\n[self.view addSubview:_trelloView];\n```\n\n数据源的加载改为了通过协议的方式完成，你需要总共实现以下这么几条协议：\nYou should conform to the protocol and implement methods below:\n\n```Objective-C\n/**\n *  Return how many boards that you are going to display\n *\n *  @param trelloView target trelloView\n *\n *  @return NSInteger\n */\n- (NSInteger)numberForBoardsInTrelloView:(TrelloView *)trelloView;\n\n/**\n *  Return how many rows each board is going to display\n *\n *  @param trelloView target trelloView\n *  @param index      index of the target trelloView\n *\n *  @return NSInteger\n */\n- (NSInteger)numberForRowsInTrelloView:(TrelloView *)trelloView atBoardIndex:(NSInteger)index;\n\n/**\n *  Return the item that each row in each board is going to display. \n *  You can extend the TrelloListCellItem model to whatever you want, just customizing your own cell in table view datasource\n *  Enjoy yourself :)\n *\n *  @param trelloView target trelloView\n *  @param index      index of the target trelloView\n *  @param rowIndex   index of the target row\n *\n *  @return TrelloListCellItem\n */\n- (TrelloListCellItem *)itemForRowsInTrelloView:(TrelloView *)trelloView atBoardIndex:(NSInteger)index atRowIndex:(NSInteger)rowIndex;\n\n/**\n *  Return title of each board\n *\n *  @param trelloView target trelloView\n *  @param index      index of the target trelloView\n *\n *  @return NSInteger\n */\n- (NSString *)titleForBoardsInTrelloView:(TrelloView *)trelloView atBoardIndex:(NSInteger)index;\n\n/**\n *  Return the level of each board\n *\n *  @param trelloView target trelloView\n *  @param index      index of the target trelloView\n *\n *  @return SCTrelloBoardLevel\n */\n- (SCTrelloBoardLevel)levelForRowsInTrelloView:(TrelloView *)trelloView atBoardIndex:(NSInteger)index;\n```\n\n新版本还提供了一个`reloadData`的方法用来动态刷新数据源。具体的用法可以参考demo和源代码。\n\n## To Do\n\n* CocoaPods\n* TableView reusable\n\n\n\n\n","funding_links":[],"categories":["awesome-ios ##","UI","Project List","Objective-C"],"sub_categories":["Other free courses","Font","Other Testing","TrelloNavigation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSergioChan%2FSCTrelloNavigation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSergioChan%2FSCTrelloNavigation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSergioChan%2FSCTrelloNavigation/lists"}