一:實現(xiàn)效果
二:實現(xiàn)方法
1:調(diào)用方法
NSLog(@"點擊彈出框");
// 注意:由convertRect: toView 獲取到屏幕上該控件的絕對位置僻族。
UIWindow *window = [[UIApplication sharedApplication].delegate window];
CGRect frame = [optionButton convertRect:optionButton.bounds toView:window];
OYRPopOption *s = [[OYRPopOption alloc] initWithFrame:CGRectMake(0, 0, IPHONE_WIDTH, IPHONE_HEIGHT)];
s.option_optionContents = @[@"退出", @"分享", @"邀請好友"];
s.option_optionImages = @[@"icon_quit_matchdetail",@"icon_nav_share",@"icon_invite_matchdetail"];
// 使用鏈式語法直接展示 無需再寫 [s option_show];
[[s option_setupPopOption:^(NSInteger index, NSString *content) {
NSLog(@"你選中了第%ld行選項為:%@", (long)index, content);
NSString *popStr = [NSString stringWithFormat:@"你選中了第%ld行選項為:%@", (long)index, content];
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:popStr preferredStyle:UIAlertControllerStyleAlert];
//添加的輸入框
//WS(weakSelf);
UIAlertAction *Action = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
}];
UIAlertAction *twoAc = [UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
//添加的帶輸入框的提示框
}];
[alert addAction:Action];
[alert addAction:twoAc];
[self presentViewController:alert animated:YES completion:nil];
if (index == 0) {
}else if (index == 1){
}else if (index == 2){
}
} whichFrame:frame animate:YES] option_show];
二:自定義彈出框
typedef void(^OYRPopOptionBlock)(NSInteger index, NSString *content);
@interface OYRPopOption : UIView
@property (nonatomic, strong) NSArray *option_optionContents;? // 內(nèi)容數(shù)組 必要
@property (nonatomic, strong) NSArray *option_optionImages;? ? // 圖片數(shù)組 非必要
@property (nonatomic, assign) CGFloat? option_lineHeight;? ? ? // 行高? 如果不設置默認為40.0f
@property (nonatomic, assign) CGFloat? option_mutiple;? ? ? ? ? // 寬度比 如果不設置默認為0.35f
@property (nonatomic ,assign) float? ? option_animateTime;? ? ? // 設置動畫時長 如果不設置默認0.2f秒 如果設置為0為沒有動畫
// 加載pop框
// block 你選中的選項
// 是否有動畫
- (instancetype) option_setupPopOption:(OYRPopOptionBlock)block whichFrame:(CGRect)frame animate:(BOOL)animate;
/** 展示Pop 推薦使用鏈式語法 */
- (void) option_show;
github地址:https://github.com/ouyangrong1313/OYRPopOptionViewgithub地址