做了一个登陆SDK,觉得SDK中的浮动框可以分享给有需要的同学使用。花了点时间将浮动框代码中业务逻辑代码剥离后独立成一个控件,效果如下。
[图片上传失败...(image-3ff6b6-1511231475012)]
提取的主要需求为:
- 普通状态下以浮动框显示,不用时可以自动隐藏到屏幕边缘
- 可以搬动浮动框到屏幕的任何位置
- 点击浮动框弹出导航栏,再次点击可以弹回。点击导航栏内图标可以触发相应事件
- 窗口弹出页面支持对话框、全屏两种模式
对外头文件代码如下:
typedef NS_ENUM(NSUInteger, YDAssistiveTouchStatus){
AssistWindow,
DialogWindow,
MainWindow
};
@interface YDAssistiveTouch : UIWindow
@property(nonatomic, strong)NSArray* tools;
@property(nonatomic, assign)YDAssistiveTouchStatus windowStatus;
-(BOOL)open;
-(void)showWindow;
@end
控件的有浮动框(AssistWindow)、弹出框(DialogWindow)、全屏(MainWindow)三种模式,模式间的切换需要调用setWindowStatus接口完成模式间的切换。
浮动框是控件的主体是默认模式,用户可以通过点击控件将开发者设定的工具项展开,然后进入到后续各子页面,如用户中心、论坛等。
欢迎有需要的同学使用与提出修改意见。
网友评论