zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    2013dgtcs 成绩排序
    JZOJ 1286. 太空电梯
    java单例模式Singleton
    设计模式的类型
    java工厂模式Factory
    Mysql SQL优化
    maven deploy命令打包到私服
    debian/linux 配置maven
    Java RC4加密解密工具
    JedisUtils
  • 原文地址:https://www.cnblogs.com/happyEveryData/p/5629767.html
Copyright © 2011-2022 走看看