user3839375
user3839375

Reputation:

show and remove same button in iOS

I have one UIButton. Now I add button on Subview :-

UIButton* button4 = [[UIButton alloc] initWithFrame:frame4];
[button4 setBackgroundImage:image3 forState:UIControlStateNormal];
[button4 setShowsTouchWhenHighlighted:YES];
[button4 addTarget:self action:@selector(Nofication:) forControlEvents:UIControlEventTouchDown];

- (void)Nofication:(id)sender
{
    share=[[UIView alloc]init];
    share.frame=CGRectMake(300, 60, 130, 100);
    [self.view addSubview:share];

    [UIView animateWithDuration:2.0
                     animations:^{
                         share.frame =CGRectMake(180, 50, 130, 100); // its final location
                     }];
    share.backgroundColor=[UIColor yellowColor];

    login=[[UIButton alloc]init];
    login.frame=CGRectMake(0, 0, 130, 50);
    [login setBackgroundImage:[UIImage imageNamed:@"login.png"] forState:UIControlStateNormal];
    [login addTarget:self action:@selector(asubmit:) forControlEvents:UIControlEventTouchDown];
    [share addSubview:login];
    login.layer.borderColor = [[UIColor whiteColor]CGColor];

    policies=[[UIButton alloc]init];
    policies.frame=CGRectMake(0, 50, 130, 50);
    [policies setBackgroundImage:[UIImage imageNamed:@"Policies.png"] forState:UIControlStateNormal];
    [policies addTarget:self action:@selector(apolicies:) forControlEvents:UIControlEventTouchDown];

    [share addSubview:policies];
  }

When I click button it's open subview working nice. But now I need if subview is showing in that time click button it's need to hidden subview. If subview is not showing in that time when I click button it's need to show subview. So Please give me any idea about it.

How to Show and Hidden same UIButton

thanks in Advance .

Upvotes: 0

Views: 431

Answers (3)

Vico
Vico

Reputation: 1256

Is it what asked? Where subview is the view (or UIButton) you are trying to hide if shown, and show if hidden.

[subview setHidden:![subview isHidden]];

Edit : In your Notification function :

// Be sure that the view is loaded, maybe load it at a different place or use a boolean

if([subview isHidden]){
    [subview setHidden:false];
}else{
    [subview setHidden:true];
}

Upvotes: 0

zhukov.ever
zhukov.ever

Reputation: 557

You can set button4.selected = !button4.selected in Nofication: method. Then you can check button4.isSelected and hide/show subview with hidden property

Hope it helps.

Upvotes: 0

iain
iain

Reputation: 5683

There is a hidden property on UIView. https://developer.apple.com/library/ios/documentation/uikit/reference/uiview_class/UIView/UIView.html#//apple_ref/occ/instp/UIView/hidden

if (button.isHidden) {
    button.hidden = NO;
}

Upvotes: 1

Related Questions