簡體   English   中英

使用界面生成器設計視圖

[英]designing a view with interface builder

我是界面構建器的新手。

我想在界面生成器中設計一個視圖。
我知道我可以通過“ loadNibNamed”加載視圖。

現在,假設視圖中將有兩個按鈕(或兩個輕擊手勢識別器),並且當觸摸這些按鈕時,需要觸發某些功能。
我如何將觸摸連接到我稱為“ loadNibNamed”的viewController的某些功能?

該視圖將是帶有兩個按鈕(或點擊手勢識別器)的彈出視圖( PopUp視圖 )。

您需要設置從接口構建器對象(按鈕)到類的出口。

為此,您需要將調用“ loadNibNamed”的類作為委托類。 然后合成按鈕,使其成為屬性。

完成后,添加選擇器:

 [button addTarget:self action:@selector(buttonPressed)

forControlEvents:UIControlEventTouchUpInside];

更好的方法是寫一個新的類為該特定視圖。 然后,如果您想在名為“ loadNibNamed”的類中捕獲事件,則可以將目標設置為其他內容:

[button addTarget:(UIMyClass)sender action:@selector(buttonPressed)
   forControlEvents:UIControlEventTouchUpInside];

那里應該有很多教程:)-順便說一句,您是否考慮過升級xcode和使用情節提要?

- 編輯: -

發生問題是因為您將編碼與接口構建混合在一起。 我認為您仍然需要為新視圖創建一個viewcontroller類,但是您可以將選擇器的目標更改為調用類。

在此處查看有關選擇器的更多信息: @selector和其他類(Objective-C)

關於將數據以編程方式推送到新視圖,這里存在一個類似的問題:

我們可以傳遞參數以查看是否已加載或視圖是否將出現在一個類的其他類中

如果您不熟悉IB,則需要執行三個步驟。

  1. 將方法名稱添加到您的.h(頭)文件中,即

    -(IBAction)someMethod:(id)發送者;

  2. 保存修改后的.h文件。

  3. 打開Interface Builder。

  4. 我相信在“工具”菜單下打開“文件所有者”窗口。

  5. Cntrl +單擊“文件所有者”窗口下的“文件所有者”選項。 將出現一個黑色的窗口,下面有許多接口選項。 一個小黑圈應該出現在someMethod旁邊

  6. 將那個黑色小圓圈(應該出現一條藍線)拖到您要方法連接的按鈕上。 出現另一個菜單。 選擇適當的操作(例如觸摸之類的操作)。 重復第二個按鈕。

  7. 在IB中,每個按鈕在“屬性”下的“屬性”列表中給它們一個標簽(我相信)。 如果需要“屬性”窗口,請再次在“工具”菜單下查看。 轉到標簽部分,為每個按鈕分配一個不同的標簽。 (1、2、3 ...等)。

  8. 在.m文件中實現該方法。 確保區分用戶為哪個按鈕選擇的操作,即if(sender.tag == 1){...}否則if(sender.tag == 2){...}

保存並運行。

結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM