2013-01-31 45 views
1

如何將操作添加到自定義視圖?與UIButtons可以在Inteface Builder中進行連接的操作類似。我不能像下面那樣使用SEL,因爲它不是一個對象,我該用什麼?SEL作爲IBOutlet在iOS中

@property(nonatomic, weak) IBOutlet SEL action; 
+0

我使用(非原子,分配)使用整數時,你嘗試過嗎? – jhilgert00

+0

雖然對IBOutlet無法確定... – jhilgert00

回答

1

你想讓自定義對象成爲UIControl的子類(它是UIView的子類)。然後,你得到的所有目標/行動方法......如果你這樣做是在代碼中的一個探索將

– addTarget:action:forControlEvents: 

如果你做一個自定義的UIControl對象,那麼你可以拖動出在自定義視圖故事板並將其自定義類設置爲您的customControl。然後,您可以將IBAction鏈接拖出到您的viewController,就像它是一個按鈕一樣。

下面是如何使一個代碼...

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIControl* customControl = [[UIControl alloc]initWithFrame:CGRectMake(20, 20, 200, 200)]; 
    customControl.backgroundColor = [UIColor redColor]; 
    [customControl addTarget:self 
         action:@selector(customAction:) 
      forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:customControl]; 
} 

- (void)customAction:(id)sender 
{ 
    NSLog (@"touched"); 
} 
+0

這是一個UITextField,UIControl中已有此操作。只是沒有打擾看。假設我必須將其添加到文本字段。 – smokingoyster

+0

劃痕,行動是爲了segues。 – smokingoyster

+0

您是否將自定義視圖添加到使用故事板的viewController? – foundry

相關問題