Вы можете переназначить действие вашего NSButton на альтернативный селектор.Допустим, у вас есть два селектора: upload:(id)sender
и cancel:(id)sender
.
. Сначала настройте свой NIB для вызова селектора upload:
.В селекторе upload:
вы можете использовать розетку (как упоминал Джошуа), чтобы изменить название кнопки для отмены и затем изменить действие:
- (IBAction)upload:(id)sender {
[uploadButton setTitle:@"Cancel"];
SEL cancelSelector = @selector(cancel:);
[uploadButton setAction:cancelSelector];
// Carry out upload actions
}
В селекторе cancel:
вы можете установитьони возвращаются такими же, какими они были раньше:
- (IBAction)cancel:(id)sender {
[uploadButton setTitle:@"Upload"];
SEL uploadSelector = @selector(upload:);
[uploadButton setAction:uploadSelector];
// Carry out cancel actions
}
Вам, конечно, придется добавить дополнительную обработку, чтобы рассмотреть возможность возврата кнопки загрузки после завершения загрузки.