添加新按钮并替换现有按钮,并通过时尚动画消失

时间:2012-04-21 09:16:27

标签: ios uibutton uianimation

我想在屏幕底部添加总共5个按钮,但在第一次加载笔尖时只能看到4个。

如果用户按下第一个按钮,它将随动画消失,第二个按钮将在第一个按钮位置。现在又在屏幕上再按一个按钮(按钮5)。

让我更清楚我正在添加图片。

屏幕1.第一次装入笔尖时。

屏幕2.按下按钮1时。

屏幕3.按下按钮2时。

enter image description here

2 个答案:

答案 0 :(得分:1)

AS U HAVENT发布了任何已经试过的代码。

所以我可以向你推荐一些想法。

如果你想在按下按钮时消失按钮,而不是从视图中删除按钮,你可以将它保持在那里但只能使它不可见,可以通过设置“视觉外观视图”的属性(查找UIView类参考)例如。 alpha值,隐藏属性。

一旦你看不见它,然后在延迟一段时间后让它可见,例如.1 / 2秒。 一旦按钮可见,然后更改标签文本。

如果你的话,你需要设置所有四个按钮的UILabel文本;将label-text int值递增1。

答案 1 :(得分:1)

这样的事情怎么样?它并不完美,所以你必须玩它,但它应该让你开始正确的方向...

你的.h

中的

IBOutlet UIButton *firstButton, *secondButton, *thirdButton, *fourthButton
NSArray *buttonsArray;
你的.m

中的

-(void)viewDidLoad{
    // VDL stuff
    buttonsArray = [NSArray arrayWithObjects:@"One", @"Two", @"Three", @"Four", @"Five", @"Six", nil];
    [firstButton setTitle:[buttonsArray objectAtIndex:0]];
    [firstButton setTag:0];
    // initial setup of the other three buttons works the same way
}

-(IBAction)updateButtons:(id)sender{
    UIButton *btn = (UIButton*)sender;
    int index = btn.tag;
    for(int i = 0; i <4; i++){
        if([buttonsArray count] > index+i){
            switch(i){
                case 0:;
                    [firstButton setTitle:[buttonsArray objectAtIndex:i+index]];
                    [firstButton setTag:i+index];
                    break;
                case 1:; //secondButton
                    break;
                case 2:; //thirdButton
                    break;
                case 3:; //fourthButton
                    break;
            }
        }else{
            break;
        }
    }
}

然后您需要做的就是将四个屏幕按钮连接到动作,而在其他情况下,您需要一些逻辑(与上面的开关案例几乎相同),一旦您朝向如果这就是你想做的事情,那么数组的结尾。