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

  • 相关阅读:
    Hive 使用问题集锦
    scala def/val/lazy val区别以及call-by-name和call-by-value
    spark学习流程
    Hadoop
    Hive
    Chrome快捷键
    Java API帮助文档
    Java 访问修饰符与非访问修饰符
    java 关键字
    Solr配置Ikanalyzer分词器
  • 原文地址:https://www.cnblogs.com/happyEveryData/p/5629767.html
Copyright © 2011-2022 走看看