自定义UIActionSheet的问题

时间:2014-08-15 21:57:26

标签: ios uiactionsheet

我正在使用如下所示的自定义开源操作表:

我的问题是,当我将头文件导入我的项目DoActionSheet.h时代码中断了,所以我添加了所有的" Demo"只有当我使用在演示中用于挑选和选择样式的相同分段控件时,文件和代码才能正常工作,例如:

DoActionSheet *vActionSheet = [[DoActionSheet alloc] init];
    vActionSheet.nAnimationType = _sgType.selectedSegmentIndex;

    if (_sgStyle.selectedSegmentIndex == 0)
        [vActionSheet setStyle1];
    else if (_sgStyle.selectedSegmentIndex == 1)
        [vActionSheet setStyle2];
    else if (_sgStyle.selectedSegmentIndex == 2)
        [vActionSheet setStyle3];

但是当我删除分段控件时,请说我选择setStyle1并执行:

DoActionSheet *vActionSheet = [[DoActionSheet alloc] init];
        vActionSheet.nAnimationType = [vActionSheet setStyle1];

我在这里做错了什么?有没有更好的方法来解决这个问题?我整合了一个普通的iOS UIActionSheet就好了,我只想看看这个。

1 个答案:

答案 0 :(得分:1)

我不是100%你正在尝试做的事情,但是这段代码并没有将nAnimationType设置为整数来改变它的动画。它只是调用返回setStyle1的{​​{1}}方法。您将动画值与设置操作表外观的方法混淆。

void

你可能想要这样的东西:

DoActionSheet *vActionSheet = [[DoActionSheet alloc] init];
vActionSheet.nAnimationType = [vActionSheet setStyle1];

如果您想更改警报视图按钮,背景等的外观......请在操作表实例上调用以下方法之一:

DoActionSheet *vActionSheet = [[DoActionSheet alloc] init];
vActionSheet.nAnimationType = 0;   // to use the normal animation or 1
vActionSheet.nAnimationType = 1;   // to fade it in
vActionSheet.nAnimationType = 2;   // 2 to bounce/pop it in

最后,演示项目没有生成静态库或框架,所以如果您要在项目中使用此类及其扩展,我认为您需要所有源代码。要集成你需要的部分并不困难。

您需要做的就是在Xcode中创建一个名为" DoActionSheet"的新组,然后从演示项目的文件夹中拖放(从Finder)第三方源和DoActionSheet文件夹直接进入刚刚创建的新组。然后你就可以像在demo的ViewController.m中一样完成头文件。使用它作为使用DoActionSheet类的指南。