2014-10-26 110 views
-3

我想提出一個iBeacon顯示基於應用程序後,如何禁用一個按鈕,但是當用戶添加新的信標和推動節約,顯示屏的第二加載回主的viewController。如果用戶多次按下保存,則會使信標添加多次。觸摸後有沒有辦法停用按鈕以避免此問題?目標C觸摸一次

- (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!"); 
    } 
+2

是的。在UIControl的文檔中找到相應的屬性非常簡單。 – 2014-10-26 19:10:51

+1

可能的重複[如何禁用UIButton?](http://stackoverflow.com/questions/6210850/how-do-i-disable-a-uibutton) – 2014-10-26 19:13:05

回答

-2

您可以通過設置Enabled屬性設置爲NO禁用的UIButton的所有實例。

self.cancelButton.enabled = NO; 
0

該文檔對這樣的事情非常有幫助。訣竅是看看你感興趣的類,它是祖先類。

在這種情況下,屬性,啓用,是祖先類UIControl的屬性。

當您在Xcode文檔中搜索類似UIButton的類時,您會在頂部的概述中看到一行「Inherits from」以及祖先類的列表。

首先看在你正在尋找在類的方法和屬性,然後單擊直接祖先類,並瞭解其方法和屬性。有時候,你所追求的方法可能是在祖父類中,甚至可能是在類層次結構的更上層。 (坦白說:自2007年初以來,我一直在使用Objective C/Cocoa/Cocoa touch進行編程,而且我還在仍然有時忘記檢查類的祖先類爲我正在尋找的方法)