自定义气泡弹窗控件(popView)

在开发中,经常会遇见点击某个按钮,弹出一个类似对话框的界面,但对话框往往过于简单,所以就出现了微博,QQ,微信上的气泡View,有多个选项,同时有图片和文字。于是就封装了popView自定义控件。

实现效果

自定义popView效果图

快速集成

  • 让控制器成为其代理
1
2
3
4
5
6
7
8
- (void)initPopView
{
// 创建popView
SMPopView *popView = [SMPopView popViewForTitles:@[@"相册",@"文章列表", @"点赞", @"添加好友"] withImages:@[@"album", @"draft", @"like", @"new_friend"]];
popView.delegate = self;
self.popView = popView;
[self.view addSubview:popView];
}

代理方法

1
2
3
4
5
6
7
/**
* 点击popView的item后的回调方法,传回Item的索引值
*/
- (void)popView:(SMPopView *)popView didClickItemIndex:(NSInteger)index
{
NSLog(@"%zd", index);
}

个性定制

提供位置,背景图片,字体三个属性进行个性化需求

其中框架中提供了三个背景图片,只是指向的箭头位置不同而已

  • popover_background_left@2x 左上角
  • popover_background@2x 中间
  • popover_background_right@2x 右上角
1
2
3
4
5
6
7
8
/* 气泡的位置 */
@property (nonatomic, assign) CGPoint position;

/** 气泡的背景图片 */
@property (nonatomic, weak) NSString *imageName;

/** 按钮字体颜色 */
@property (nonatomic, weak) UIColor *fontColor;