如果我通過Interface Builder在視圖中設置了UIScrollView,如何在ViewController實現中獲取對它的引用?我想以編程方式向滾動視圖添加標籤。如何在視圖中獲取對控件的引用?
例如,在C#中,如果您在UI /窗體中聲明瞭文本框,則可以通過簡單地使用爲該文本框聲明的ID來訪問它。這在目標c中似乎並不簡單。
感謝 凱文
如果我通過Interface Builder在視圖中設置了UIScrollView,如何在ViewController實現中獲取對它的引用?我想以編程方式向滾動視圖添加標籤。如何在視圖中獲取對控件的引用?
例如,在C#中,如果您在UI /窗體中聲明瞭文本框,則可以通過簡單地使用爲該文本框聲明的ID來訪問它。這在目標c中似乎並不簡單。
感謝 凱文
假設我理解你正確,你是從實例包含子視圖,包括你想要的UIScrollView的一個的.xib視圖控制器,有兩種方式 - 首先,你可以將子視圖數組中找到它由視圖控制器擁有。其次,您可以在頭文件中添加一個IBOutlet引用,然後在界面構建器中使用連接檢查器進行連接。然後你可以參考代碼中的對象,更改框架,添加標籤等。
您需要將您的ViewController連接到您的Nib文件。這非常簡單。這是在iPhone/iPad上使用Interface Builder的基本工作流程:
創建具有以下格式的視圖控制器屬性:
@屬性(非原子,保留)IBOutlet中的UIScrollView滾動視圖*;
IBOutlet關鍵字是一個評估爲無效的宏。所以它實際上並沒有對你的代碼做任何事情,只是讓Interface Builder知道'scrollView'屬性可以被綁定。
這種東西是非常基本的Xcode的東西。如果你閱讀任何教程,它會涵蓋這一點。祝你好運,並享受!
編輯: 我應該補充說,如果您使用New File對話框中的默認「New UIViewController Subclass」,它將爲您完成第一步。你將有一個nib文件和一個已經彼此瞭解的View Controller。
scrollView
指向正確的對象(假設Nib中的所有內容均已正確連線,這很容易犯錯)我確實使用了File對話框中的New UIViewController子類。我也已經在頭文件中添加了屬性,並在實現中使用了Synthesize關鍵字。 這是我的ViewController頭像。那麼它是否像通過名稱調用/操縱控件一樣簡單(在本例中爲Scroller)? #進口
假設我已經正確連線了,我怎樣才能在ViewDidLoad事件的滾動視圖中添加一個視圖?它是否簡單到「[scrollView addSubview:label];」 – Kevin 2010-05-18 01:15:43
我編輯了你的問題的答案。 – kubi 2010-05-18 02:19:05
是的,這聽起來像你理解正確。 所以有一種ViewController方法返回視圖中所有控件的數組? – Kevin 2010-05-18 00:49:38
每個UIViewController都有一個視圖屬性,它是一個UIView。每個UIView都有一個屬性子視圖,它是UIViews的一個數組。然而,使Interface Builder中的鏈接比通過數組更容易,並且隨着視圖數量和子視圖數量的增加,特別需要標識所需的對象。持續引用您想訪問的內容會更方便。 – 2010-05-18 00:57:18
查看http://itunes.stanford.edu/ - 點擊鏈接到斯坦福iTunes U部分,然後找到iPhone課程 - 或者在iTunes商店搜索欄中搜索「CS193P」。看看講座1和講座2,當看到別人這樣做時,如何讓界面生成器改變更容易。 – 2010-05-18 01:11:16