Research on the drawer effect of several github third-party libraries, drawer github
In the selection of the new version of the company's project, the drawer effects to be used in the leading flight were investigated. The main reason is that the ECS library used in the old project is not very good. Currently, we have conducted research on the third-party libraries with hot drawer effects. Select all codes from github.
If you did not see this article in Dong Boran's blog, click to view the original article.
I. RESideMenu
Https://github.com/romaonthego/RESideMenu
4300 stars
The sample program ran to 30 M, probably because there was an image in it.
Support for iOS7 +
Good test results
Advantages:
1. There are few files in it and you can run it without using cocoapods.
2. There are also many custom APIs in it. You can set a smaller drawer effect or a smaller one.
3. There are two example programs, one being pure hand code and the other being Storyboard. It can be seen that the authors also like IB development very much. This framework should be perfectly compatible with IB development.
4. You can drag it with a gesture.
5. All files in the project do not need to be inherited. Just import the header file.
Disadvantages:
1. The menu options displayed on the left are fixed buttons. It is not feasible to change the left to tableView.
2. You cannot move the status bar right. (Dong Boran blog Park)
3. I have not found how to customize the proportions of controllers on both sides.
Ii. Mutual Mobile Drawer Controller
Https://github.com/mutualmobile/MMDrawerController
3100 stars
The sample program memory runs to 15 MB
IOS7 +
The test results are amazing.
Benefits.
1. There are nine files in it, which are slightly more than above. But let's do it.
2. Although there is no animation for narrowing down the drawer, there are several transfer animations available for leftVC during the split-in process.
3. tableVIew is already on the left.
4. There are many custom interfaces.
5. The author is still updating
Disadvantage.
1. Compared to the above, this project is written in pure hand code.
2. Now there is a small twitching bug, but I feel I should be able to correct it.
3. When you set the ratio between left and right, a fixed value is used. In this case, the display on the 4s and 6 mobile phone interfaces is different. (Change to percentage)
4. the status bar cannot be shifted to the right.
5. Each file in the project must inherit the tool class.
3. PPRevealSideViewController
Https://github.com/ipup/PPRevealSideViewController
Star 736
IOS6 +
The test results are average.
Advantages:
1. Support for iOS6
2. Basic customization is also supported.
3. Most pages are created on the Storyboard.
4. Import the header file instead of the inheritance file.
Disadvantages:
1. iOS6 is also supported, so there must be a black bar for interface control. The switchover is too low-end.
2. In addition to your own PPRSVC, you must also use cocoapods to depend on another library, PPHelpMe. This library contains 29 files.
3. The gesture support is not very good. It can be pulled but cannot be pulled back. (Dong Boran blog Park)
Iv. SWRevealViewController
Https://github.com/John-Lluch/SWRevealViewController
Star 2100
There are no images on the very clean interface. Why does the memory run to 28 MB?
IOS7 +
General testing results
Advantages:
1. Import the header file instead of inheritance.
2. Very clean, basically only core functions, only two files one. h and one. m
3. Three-tier drawers can be implemented.
4. Supports gesture operations.
5. Many xib files are used.
6. The ratio of left and right is well controlled.
Disadvantages:
1. There are not many custom interfaces. (But it should not be difficult to change the source code)
2. The screen adaptation for horizontal screen must be improved.
2. It seems that there are no shortcomings.
5. ECSlidingViewController (currently used)
Https://github.com/ECSlidingViewController/ECSlidingViewController
3500 stars
Support for iOS5
The test results are average.
Advantages:
1. It seems that there are no advantages except many stars (compared with the above)
Disadvantages:
1. 13 files are used, but it seems that only the basic drawer effect function is implemented.
2. pulling to the right when shrinking to the right will produce a bug.
3. Use inheritance. Each file must be inherited.
4. The update will be stopped after January 1, last August.
Result Analysis
For the moment, I prefer the first one. First, the interface is clear, the code is clear, and there is little intrusion to the project. This is the root cause. We are also investigating this database in detail.
(If you have used the above libraries, you are welcome to give me some advice)