• UIActionSheet减少在控制器再写一次代理


    利用 CFRunLoopRun 和 CFRunLoopStop 方法来将 UIActionSheet 改造成同步的调用。

    #import <Foundation/Foundation.h>

    #import <UIKit/UIKit.h>

    @interface SynchronizedUIActionSheet : NSObject

    - (NSInteger)showInView:(UIView *)view;

    @end

    //

    //  SynchronizedUIActionSheet.m

    //  SynchronizedUIActionSheet

    //

    //  Created by Evan on 16/6/29.

    //  Copyright © 2016年 Evan. All rights reserved.

    //

    #import "SynchronizedUIActionSheet.h"

    @interface SynchronizedUIActionSheet ()<UIActionSheetDelegate>

    @property (nonatomic, strong) UIActionSheet *actionSheet;

    @property (nonatomic, assign) NSInteger selectedIndex;

    @end

    @implementation SynchronizedUIActionSheet

    - (NSInteger)showInView:(UIView *)view

    {

          _actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"111" otherButtonTitles:nil, nil];

        [_actionSheet showInView:view];

        CFRunLoopRun();

        return _selectedIndex;

    }

    - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

        _selectedIndex = buttonIndex;

        _actionSheet = nil;

        CFRunLoopStop(CFRunLoopGetCurrent());

    }

    @end

  • 相关阅读:
    SpringMVC 通过post接收form参数或者json参数
    Web验证码图片的生成-基于Java的实现
    springmvc防止表单重复提交demo
    MyBatis多表映射demo
    mybatis配置ehcache缓存
    Oracle数据库Where条件执行顺序
    省选模拟10
    省选模拟8
    省选模拟9
    省选模拟7
  • 原文地址:https://www.cnblogs.com/happyEveryData/p/5629767.html
Copyright © 2020-2023  润新知