我正在创建一个基于iBeacon的应用程序,但是当用户添加新信标并按下save时,屏幕需要一秒钟才能加载回主viewController。如果用户多次按下保存,则会使信号不止一次添加。触摸后是否有办法停用按钮以避免此问题?
- (IBAction)saveTag:(id)sender
{
PFObject *newTag = [PFObject objectWithClassName:@"Tag"];
newTag[@"Name"] = self.tagName.text;
newTag[@"UUID"] = self.selectedBeacon.proximityUUID.UUIDString;
newTag[@"Major"] = self.selectedBeacon.major;
newTag[@"Minor"] = self.selectedBeacon.minor;
if ([self.tagName.text isEqualToString:@""]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Artemis" message:@"Cannot save tag without name" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
} else {
PFQuery *query = [PFQuery queryWithClassName:@"Tag"];
[query whereKey:(@"UUID") equalTo:self.selectedBeacon.proximityUUID.UUIDString];
[query whereKey:(@"Major") equalTo:self.selectedBeacon.major];
[query whereKey:(@"Minor") equalTo:self.selectedBeacon.minor];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
NSLog(@"No errors found!");
}
答案 0 :(得分:3)
在这里回答:How do I disable a UIButton?
self.buttonName.enabled = NO;
答案 1 :(得分:0)
文档对于这样的事情非常有帮助。诀窍是看看你感兴趣的班级和它的祖先班级。
在这种情况下,启用的属性是祖先类UIControl的属性。
当你在Xcode文档中搜索像UIButton这样的类时,你会在顶部的概述中看到一行"继承自",以及一个祖先类的列表。
首先查看您正在查看的类的方法和属性,然后单击直接的祖先类并阅读有关ITS方法和属性的信息。有时,您之后使用的方法可能是在祖父母班级中,甚至可能在班级层次结构中。
(忏悔:自2007年初以来,我一直在使用Objective C / Cocoa / Cocoa触摸编程,而且我仍然有时忘记查看课程'我正在寻找的方法的祖先类。)
答案 2 :(得分:-2)
您可以通过将enabled属性设置为NO来禁用所有UIButton实例。
self.cancelButton.enabled = NO;