Bin*_*Ich 1 xib custom-view ios
我需要一个如何从nib文件实例化自定义视图的示例.我把头包裹在几个stackoverflow的帖子,但我没有得到它.也许我只需要提示如何做到这一点.
我想要做的是 - 使用界面构建器创建自定义视图.它应该是一个模板,以便我可以多次实例化它以将其添加到多个视图控制器.
到目前为止,我已经创建了名为MyIssueView.xib的自定义视图xib文件.其中只包括主视图和一些标签.
我创建了一个UIView的子类,在MyIssueView.xib中使用Outlets作为我的标签,称为IssueView.
我现在如何与IB挂钩?如何从任何ViewController实例化IssueView?
很高兴举个例子!干杯.
更新:
我现在有
IssueView.xib IssueView.h(UIView Subclass)IssueView.m
我的IssueView.h:
#import <UIKit/UIKit.h>
@interface IssueView : UIView
@property (weak, nonatomic) IBOutlet UILabel *label1;
@property (weak, nonatomic) IBOutlet UILabel *label2;
@property (weak, nonatomic) IBOutlet UILabel *label3;
@property (weak, nonatomic) IBOutlet UILabel *label4;
@end
Run Code Online (Sandbox Code Playgroud)
我的IssueView.m:
#import "IssueView.h"
@implementation IssueView
@end
Run Code Online (Sandbox Code Playgroud)
我的ViewController.m:
#import "AllIssuesViewController1.h"
#import "IssueView.h"
#import "UIView+NibLoading.h"
@interface AllIssuesViewController1 ()
@end
@implementation AllIssuesViewController1
- (void) loadView
{
}
- (void)viewDidLoad
{
[super viewDidLoad];
_issueView = [IssueView loadInstanceFromNib];
}
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0x8292580> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label1.'
Run Code Online (Sandbox Code Playgroud)
我有一个扩展UIView的类别,名为UIView + NibLoading.
在这是代码......
#import "UIView+NibLoading.h"
@implementation UIView (NibLoading)
+ (id)loadInstanceFromNib
{
UIView *result;
NSArray* elements = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil];
for (id anObject in elements) {
if ([anObject isKindOfClass:[self class]]) {
result = anObject;
break;
}
}
return result;
}
@end
Run Code Online (Sandbox Code Playgroud)
然后,当我想从一个nib实例化一个UIView子类时,我只需导入该类别,我就可以运行...
self.issueView = [IssueView loadInstanceFromNib];\
Run Code Online (Sandbox Code Playgroud)
你需要像这样连接标签......

如果将标签连接到"文件所有者",则需要删除这些连接.
| 归档时间: |
|
| 查看次数: |
3366 次 |
| 最近记录: |