English | 中文版
🚀🚀🚀Uncoupled view code, you can add popup methods for created / uncreated views;
🚀🚀🚀TFPopup not a view, it is only a pop-up manner;
Using TFPopup as a pop-up box will make your pop-up box extremely easy:
1.You already have a view;
2.Pop it up the way you like;
The document contains a lot of gif images and may load slowly
Project contains Swift and OC Demo respectively
- Decouple view code
You can add popup methods for created / uncreated views; - Support multiple pop-up methods by default
No Animation cover / zoom eject / eject slide / mode based on a point of bubble eject / eject frame based variation / mask based on the mask eject / eject folded - On the basis of the way through the pop-upAdjust parametersto adjustpop-up effect
Drag: Turn drag on / off / whether to enable drag elastic effect / set the distance to automatically disappear after dragging
Drag style: In free mode, the pop-up box can be dragged in all directions, and the trigger disappears after letting go./ In combination mode, you can freely combine the four directions to recognize the direction.
Time adjustment: Animation time / Animation delay start time / Animation delay disappear time / Pop-up frame disappear time automatically
Time curve: Set animation time curve via UIViewAnimationOptions
Pop-up background: Whether to use the background / adjust the background color / transparent background color / background click event and default auto click disappear / background display, disappear transparency animation
Fade and location: Pop-up Fade / Disappear Fade-out / Pop-up Position Change / Vanish Position Change
Size and location: Pop-up area calculation size setting / pop-up frame size / position offset / initial position / target position / whether to always maintain the original position
Attribute animation: You can set the property animations when displaying and disappearing.You only need to set the properties: property value, initial value, and end value to use rich property animation effects
Bubble: Bubble reference points / Eight pop-up directions
Mask: You can set the mask when displaying and disappearing.You only need to set the attributes: the initial path of the mask and the end path of the mask. - Retain full pop-up interface, support fully custom pop-up method, animation, and background
TFPopupDataSourceThis agent contains various parameter configurations required for the pop-up animation, which will be called in turn after the animation starts TFPopupBackgroundDelegateAs with TFPopupDataSource, you can truncate and modify the popup process by implementing one or more methods to achieve a completely custom background and background animation TFPopupDelegateThe proxy contains the entire popup process event. TFPopup makes the view itself implement this proxy to encapsulate the combination and popup of the above animation effects. You can do this in the popup class Overriding one or more methods to truncate and modify the pop-up process for fully custom animation effects
Drag
Custom animation effects
Default animation effect
Free combination of parameters based on default animation effects
Pictures load slowly. Please be patient or look in the project directory using screenshot resources
Do not set TFPopupParam
Modify the pop-up method and animation by setting TFPopupParam
To achieve the effect you want by overriding one or more methods of TFPopupDataSource and TFPopupBackgroundDelegate on the view
The following figure, this attribute TFPopupExtension is a model that saves the internal attributes during the whole frame view of the frame view. All the attributes related to the frame process are here
TFPopupExtension model detail
The above method briefly describes the use method. For specific effects and use, please refer to the demo!
This framework will be updated and maintained all the time [except for career change] Please rest assured.
pod 'TFPopup'
There are bugs or deficiencies during use, please feel free to issue me or contact me;
The existing functions cannot meet your needs, please feel free to issue me or contact me;
Have better suggestions or optimization, please feel free to issue me or contact me;
Email: [email protected];