[英]iOS custom UIView access properties in code
因此,我創建了一個自定義UIView子類,並將其分配給主故事板上的UIView。 視圖加載后,所有內容都會正確顯示。
我遇到的問題是,由於視圖是數據驅動的,因此我需要能夠訪問所述自定義UIView的屬性。
JSON_table.h:
#import <UIKit/UIKit.h>
@interface JSON_table : UIView
@property (strong, nonatomic) IBOutlet UIView *view;
@property (weak, nonatomic) IBOutlet UISearchBar *searchbar;
@property (weak, nonatomic) IBOutlet UITableView *table_view;
@property (weak, nonatomic) NSString *data_header;
@property (weak, nonatomic) NSString *data_list;
@end
JSON_table.m:
#import "JSON_table.h"
@implementation JSON_table
- (id) initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) {
[[NSBundle mainBundle] loadNibNamed:@"JSON_table" owner:self options:nil];
[self addSubview:self.view];
}
return self;
}
@end
(我知道我缺少表視圖的代表,以后再添加這些代表)
我遇到的問題是當我在情節提要上右鍵單擊UIView時得到:
問題是,當我嘗試將“視圖”連接到頭文件“ ViewController.h”時,它不允許我創建IBOutlet,因此無法在代碼中引用我的視圖及其屬性。
這是我要完成的工作: “表格”的類型為UIView
理念:
這與UIView位於情節提要中的第二個視圖有什么關系嗎? 我注意到第一頁上的內容似乎沒有任何問題,但第二頁上的內容卻沒有問題。
您只能將視圖的出口連接到其類對象。 您正在嘗試將JSON_table對象的插座連接到UIViewController對象。
如果需要訪問UIViewController對象中的那些屬性。 您需要導入
JSON_table.h
在您的視圖控制器中。 並創建並實例化它的一個對象。
JSON_table * customView = [[JSON_table alloc]init];
現在,您可以按以下方式訪問它的所有屬性:
customView.searchbar, customView.view
等。
由theshadow124添加:
感謝所有試圖幫助我解決問題的人。 由於對於iOS編程來說是相當陌生的,所以我沒有意識到我必須為故事板中的每個UIViewController分配一個自定義類(我認為如果不指定它們,它們將繼承自基類)。 只需創建UIViewController的新子類並在身份檢查器下進行分配即可解決我的問題,現在我可以正確分配出口了。
我將接受此答案,因為這是在解決情節提要上的子類后遇到的問題之一。
請確保您在助理編輯器中打開的類與您的自定義類所包含的類相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.