我有一個view
與UITabelView
它有可移動的行,調整我的ViewController
內的不同view
上的按鈕。 當一行被移動時,view
中的圖標應該更新。見下面(注意[self refreshicons]
):UIButton和UILabel不從UIButton更新視圖
-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{
NSInteger sourceRow = sourceIndexPath.row;
NSInteger destRow = destinationIndexPath.row;
id object = [shortcutApps objectAtIndex:sourceRow];
[shortcutApps removeObjectAtIndex:sourceRow];
[shortcutApps insertObject:object atIndex:destRow];
[tableView reloadData];
[self refreshIcons];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:shortcutApps forKey:@"ShortcutArray"];
}
這是[self refreshicons]
-(void)refreshIcons{
icon1 = [shortcutApps objectAtIndex:0];
NSLog(@"%@",icon1);
[extraIcon1 setImage:[UIImage imageNamed:[[icon1 lowercaseString] stringByReplacingOccurrencesOfString:@" " withString:@""]] forState:UIControlStateNormal];
extraIconLabel1.text = icon1;
NSLog(@"%@",extraIconLabel1);
}
的NSLogs打印正確的字符串,但UILabel的和UIButton的圖像不更新。當在同一個view
中創建一個運行與[self refreshicons]
相同的代碼的按鈕時,該代碼將按需要運行。但是,當行被移動或者在view
之外按下按鈕時,標籤和按鈕不會更新。 想法?
你可以發佈一些截圖來有更好的想法 – harshitgupta
你爲什麼從'moveRowAtIndexPath:'方法調用'reloadData'? – rmaddy
@rmaddy,因爲我的tableview有行,需要根據其索引號 – Manesh