【问题标题】:Objective C how to disable a button after touching onceObjective C如何在触摸一次后禁用按钮
【发布时间】:2014-10-26 19:09:35
【问题描述】:

我正在制作一个基于 iBeacon 的应用程序,但是当用户添加新的信标并按下保存时,屏幕需要一秒钟才能加载回主 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!");
    }

【问题讨论】:

标签: ios objective-c


【解决方案1】:

在这里回答:How do I disable a UIButton?

self.buttonName.enabled = NO;

【讨论】:

    【解决方案2】:

    文档对于此类事情非常有帮助。诀窍是查看您感兴趣的类和它的祖先类。

    在这种情况下,启用的属性是祖先类 UIControl 的属性。

    当您在 Xcode 文档中搜索 UIButton 之类的类时,您会在顶部的概述中看到一行“继承自”,以及祖先类的列表。

    首先查看您正在查看的类的方法和属性,然后单击直接祖先类并阅读有关 ITS 方法和属性的信息。有时,您所追求的方法可能在祖父类中,甚至在类层次结构的更上层。

    (坦白:自 2007 年初以来,我几乎一直在用 Objective C/Cocoa/Cocoa touch 编程,我仍然有时忘记检查一个类的祖先类的方法,我正在寻找。)

    【讨论】:

      【解决方案3】:

      您可以通过将 enabled 属性设置为 NO 来禁用 UIButton 的所有实例。

      self.cancelButton.enabled = NO;
      

      【讨论】:

        猜你喜欢
        • 2019-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-23
        • 2018-06-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多