2015-03-24 161 views
0

所以我创建了一个自定义的UIView子类,并将其分配给我的主故事板中的UIView。当视图加载时,所有内容都正确显示。代码中的iOS自定义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 

(我知道我失踪的tableview代表,生病可以添加这些更高版本)

的问题,我当时我右键点击我的故事板上的UIView,我得到: enter image description here

问题是当我试图连接“视图”到我的头文件“ ViewController.h”它不让我创建一个IBOutlet,所以我不能在代码中引用我的视图及其属性。

这就是我试图完成: enter image description here “表”是一个类型的UIView的

理念:

请问这有什么关系UIView的是在我的故事板第二视图?我注意到,我似乎没有任何问题附加到第一页上的任何内容,但第二个我不能。 enter image description here

+0

根据你的问题,我认为使用'UIViewController'会更有意义。 – 2015-03-24 22:06:30

+0

@ChrisLoonam我需要自定义控件能够自我包含,并且屏幕上一次可能有多个。 UIViewController不会将我限制为一个吗? – theshadow124 2015-03-24 22:14:02

+1

控制从文件所有者框拖动到IB中的视图对象并将其连接到视图 – Chase 2015-03-24 22:20:54

回答

1

您只能将视图的出口连接到它的类对象。您正尝试将JSON_table对象的插座连接到UIViewController对象。

如果您需要访问UIViewController对象中的这些属性。您需要在您的视图控制器中导入

JSON_table.h 

。并创建并实例化它的一个对象。

JSON_table * customView = [[JSON_table alloc]init]; 

现在您可以访问它的所有特性:

customView.searchbar, customView.view等添加人theshadow124

谢谢大家谁试图帮助我解决我的问题。由于iOS编程相当新颖,我没有意识到我必须为自己的故事板中的每个UIViewController分配一个自定义类(我认为如果我没有指定,它们会从基类继承)。简单地创建一个UIViewController的新子类,并在身份检查器下分配它,解决了我的问题,现在我可以正确分配插座。

我会接受这个答案,因为这是我在修复故事板问题上的子类后遇到的问题之一。

0

请确保在助理编辑器中,您正在打开您的自定义类所在的同一个类。

+0

我在上面的代码中显示的自定义视图中链接了控件和视图。我试图连接一个自定义视图的插座,一旦我把它放在故事板上,所以主代码可以将数据传递到视图的属性 – theshadow124 2015-03-24 23:00:09

+0

是的,我明白,我的意思是确保你的类是你的尝试将自定义视图连接到它与包含故事板中的自定义视图相同 – 2015-03-24 23:03:33

+0

在助手查看器中,如果我将它设置为自动获取故事板,它将打开一个文件“UIViewController.h”,它是标准Apple标头UIViewController的文件。我有我的所有其他网点在“ViewController.h”,同样的文件,接收viewDidLoad事件 – theshadow124 2015-03-24 23:22:11