如何刷新viewForFooterInSection
问题描述:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
if(footerView == nil) {
//allocate the view if it doesn't exist yet
footerView = [[UIView alloc] init];
UIImage *image = [[UIImage imageNamed:@"update.png"]
stretchableImageWithLeftCapWidth:8 topCapHeight:8];
//create the button
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setBackgroundImage:image forState:UIControlStateNormal];
//the button should be as big as a table view cell
[button setFrame:CGRectMake(100, 3, 300, 50)];
NSDate *today = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// display in 12HR/24HR (i.e. 11:25PM or 23:25) format according to User Settings
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
NSString *currentTime = [dateFormatter stringFromDate:today];
[dateFormatter release];
NSLog(@"User's current time in their preference format:%@",currentTime);
NSString *btnString;
NSDate* now = [NSDate date];
btnString = [NSString stringWithFormat:@"%@:%@",@"Update",currentTime];
//set title, font size and font color
[button setTitle:btnString forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont boldSystemFontOfSize:20]];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
//set action of the button
[button addTarget:self action:@selector(update:)
forControlEvents:UIControlEventTouchUpInside];
[footerView addSubview:button];
}
return footerView;
}
在这里,我想在视图按钮包含文本页脚部分添加按钮“更新:currentTime的” - >如“更新:下午4:30”
所以当他没有用户会明白最后更新,但现在当我按下这个按钮更新在视图中完成,但我想更新(刷新)按钮的文本,例如,如果我按下按钮15分钟后,它应该显示“更新:4:45 PM”...如何刷新本文如何刷新viewForFooterInSection
非常感谢你
答
您的“更新”方法将接收按钮作为发件人。 发件人应作为ID的对象,那么你可以将它转换为一个UIButton *,当你想这样的更新它的文本:
void update:(id)sender {
[(UIButton)*sender setTitle:@"NEW TEXT" forState:UIControlStateNormal];
//rest of your update code
}
非常感谢你......我学到了很多东西从这个论坛和类似ü帮助人们再次感谢 – Pooja 2011-04-21 16:15:21
不客气,我从*也学到了很多东西,只是尽可能地回馈。妥善保管好代码:) – mbritto 2011-04-26 12:53:58