Reputation: 368
Hello i have a nib file which contains 3 UIButtons , i need to change the attributes of button at runtime after loading from nib but i don't know what am i doing wrong. I have also NSlog after changing the booleans but i always get '0' in output. Any help thx
-(void)SettingBtnPressed:(id)sender
{
UIButton *btn =(UIButton*)sender;
UITableViewCell *btncell =(UITableViewCell *)[btn superview];
if ([[recentActivities objectAtIndex:btn.tag] isKindOfClass:[MeetingSummary class]]) {
[MainManager getSharedInstance].Summary = [recentActivities objectAtIndex:btn.tag];
MeetingSummary *ms=[recentActivities objectAtIndex:btn.tag];
Meeting *m=ms.meeting;
if(![popoverController isPopoverVisible]){
lastPoint = sender;
if (![m.endedDate isEqualToString:@"1/1/0001"]) {
if (settingpop) {
[settingpop release];
}
settingpop = [[SettingsPopViewController alloc] initWithNibName:@"SettingsPopViewController" bundle:nil];
settingpop.start.hidden=YES;
settingpop.start.enabled=NO;
NSLog(@"%i",settingpop.start.hidden);
NSLog(@"%i",settingpop.start.enabled);
settingpop.btnShowDetail.enabled=NO;
settingpop.btnShowDetail.hidden=YES;
// [settingpop.start removeFromSuperview];
// [settingpop.btnShowDetail removeFromSuperview];
settingpop.view.frame=CGRectMake(0, 0, 250, 54);
}
else
{
settingpop = [[SettingsPopViewController alloc] initWithNibName:@"SettingsPopViewController" bundle:nil];
}
settingpop.delegate = self;
[settingpop setActivityView:self.view];
popoverController = [[[UIPopoverController alloc] initWithContentViewController:settingpop] retain];
[popoverController setPopoverContentSize:CGSizeMake(250.0f, 162.0f)];
[popoverController presentPopoverFromRect:btn.frame inView:btncell
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}else{
[popoverController dismissPopoverAnimated:YES];
}
}
}
Upvotes: 0
Views: 180
Reputation: 437392
Are you talking about adjusting the properties of the start
and btnShowDetail
controls of SettingsPopViewController
? You cannot access its controls immediately after the initWithNibName
. You have to wait until after the view has been created, i.e., wait until after viewDidLoad
is called, because the NIB may well not have been loaded until then.
Upvotes: 1
Reputation: 1333
Move the row:
settingpop.view.frame=CGRectMake(0, 0, 250, 54);
before the row:
settingpop.start.hidden=YES;
Upvotes: 1