从Xib加载的自定义UIView

我已经创建了UIView的自定义子类以及xib文件,并在该自定义类中声明了IBOutlets和IBActions。

@interface ContactUsView : UIView

@property (nonatomic, weak) IBOutlet UIButton *displayCloseButton;

- (IBAction)callButtonPressed:(id)sender;
- (IBAction)emailButtonPressed:(id)sender;
- (IBAction)displayCloseButtonPressed:(id)sender;

@end

在xib文件中,我拖动了一个UIView来代表我的自定义视图。我已经设定:

  • 文件所有者=我的自定义类
  • 将已拖动的UIView设置为我的自定义类。

然后,我添加了与上述3种方法相关的各种按钮。

在ContactUsView.m中,我具有以下内容:

- (id)initWithFrame:(CGRect)frame 
{
    if (self = [super initWithFrame:frame]) {
        NSArray* array = [[NSBundle mainBundle] loadNibNamed:@"ContactUsView" owner:self options:nil];
        for (id object in array) {
            if ([object isKindOfClass:[ContactUsView class]])
                self = (ContactUsView *)object;
        }
    }
    return self;
}

当我创建此视图时,请执行以下操作:

- (void)viewWillAppear:(BOOL)animated
{
    ContactUsView *contactUs = [[ContactUsView alloc] initWithFrame:CGRectZero];

    CGPoint origin = self.view.frame.origin;
    CGSize size = self.view.frame.size;
    [contactUs setFrame:CGRectMake(origin.x,
                              CGRectGetMaxY(self.view.frame) - 100,
                              size.width,
                              contactUs.frame.size.height)];

    [self.view addSubview:contactUs];
}

问题当我按下其中一个按钮时,应用程序崩溃:线程1:EXC_BAD_ACCESS(code = 2,address = 0xb0c

谁能帮我这个。我觉得我可能在从xibs创建和加载自定义uiview方面犯了一个错误。

如果您需要更多信息,请告诉我。非常感谢。

将来的参考使用xib创建自定义视图时,请勿设置文件所有者。而是像平常那样创建所有IBOutlet和IBAction,然后将其连接起来,打开“实用程序”选项卡并控制从此处拖动。

在此处输入图片说明

西尔马里尔

•文件所有者=我的自定义类

错误的。文件所有者应为空。视图本身是文件所有者。这意味着您应将所有动作和插座连接ContactUsView到xib中。

[[NSBundle mainBundle] loadNibNamed:@“ ContactUsView” owner:self选项:无]

...

自我=(ContactUsView *)对象;

self作为owner参数传递后您更改它。这意味着先前分配的ContactUsViewself)将被销毁,因为-loadNibNamed:owner:options:不保留它。如果您应用我的第一条建议,则应将其nil作为owner参数发送

for此处的循环不是必须使用array[0],因为如果xib中具有有效的视图层次结构,则这始终是您的视图

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将自定义UIView从Xib文件加载到UIViewController中的UIView中?

来自分类Dev

为UITableViewCell加载自定义XIB

来自分类Dev

从框架加载自定义单元Xib

来自分类Dev

无法加载带有Nib(.xib)的自定义UIView的子视图?

来自分类Dev

在界面生成器中添加的自定义UIView不会加载xib

来自分类Dev

如何在XIB中正确加载和显示自定义UIView?

来自分类Dev

从XIB以编程方式调整自定义UIView的大小

来自分类Dev

我如何从Xib创建自定义uiview

来自分类Dev

xib中的自定义UIView通知取消分配错误

来自分类Dev

带有自定义XIB的自定义UIView上的EXC_BAD_ACCESS

来自分类Dev

自定义UIView XIB中的iOS导航后退按钮(不带导航控制器)

来自分类Dev

如何使用Xib文件为自定义UIView类编写init方法

来自分类Dev

使用XIB将数据从UIViewController传递到自定义UIView

来自分类Dev

我无法在Xcode 12的xib中创建自定义UIView

来自分类Dev

自定义UIView过渡

来自分类Dev

快速自定义UIView

来自分类Dev

来自xib的自定义UIView始终具有600 pt的高度(UIView-Encapsulated-Layout-Height约束)

来自分类Dev

如何使用Swift在UICollectionView单元格中加载自定义单元格(xib)

来自分类Dev

从xib加载自定义视图后,IBOutlet属性为零

来自分类Dev

从.xib加载自定义视图不适合iPhone 6+

来自分类Dev

在从XIB加载的自定义视图中修改UIButton的标题标签

来自分类Dev

如何使用Swift在UITableview中加载自定义单元格(Xib)

来自分类Dev

添加自定义过渡会导致 xib 加载错误的屏幕尺寸

来自分类Dev

UITableViewController 不使用 xib 文件加载自定义单元格

来自分类Dev

iOS:使用xib的自定义视图

来自分类Dev

带有XIB的自定义UITableViewCell

来自分类Dev

使用Xib自定义UITableViewCell

来自分类Dev

如何使用XIB自定义UINavigationBar?

来自分类常见问题

如何在Swift中使用XIB文件初始化/实例化自定义UIView类

Related 相关文章

  1. 1

    如何将自定义UIView从Xib文件加载到UIViewController中的UIView中?

  2. 2

    为UITableViewCell加载自定义XIB

  3. 3

    从框架加载自定义单元Xib

  4. 4

    无法加载带有Nib(.xib)的自定义UIView的子视图?

  5. 5

    在界面生成器中添加的自定义UIView不会加载xib

  6. 6

    如何在XIB中正确加载和显示自定义UIView?

  7. 7

    从XIB以编程方式调整自定义UIView的大小

  8. 8

    我如何从Xib创建自定义uiview

  9. 9

    xib中的自定义UIView通知取消分配错误

  10. 10

    带有自定义XIB的自定义UIView上的EXC_BAD_ACCESS

  11. 11

    自定义UIView XIB中的iOS导航后退按钮(不带导航控制器)

  12. 12

    如何使用Xib文件为自定义UIView类编写init方法

  13. 13

    使用XIB将数据从UIViewController传递到自定义UIView

  14. 14

    我无法在Xcode 12的xib中创建自定义UIView

  15. 15

    自定义UIView过渡

  16. 16

    快速自定义UIView

  17. 17

    来自xib的自定义UIView始终具有600 pt的高度(UIView-Encapsulated-Layout-Height约束)

  18. 18

    如何使用Swift在UICollectionView单元格中加载自定义单元格(xib)

  19. 19

    从xib加载自定义视图后,IBOutlet属性为零

  20. 20

    从.xib加载自定义视图不适合iPhone 6+

  21. 21

    在从XIB加载的自定义视图中修改UIButton的标题标签

  22. 22

    如何使用Swift在UITableview中加载自定义单元格(Xib)

  23. 23

    添加自定义过渡会导致 xib 加载错误的屏幕尺寸

  24. 24

    UITableViewController 不使用 xib 文件加载自定义单元格

  25. 25

    iOS:使用xib的自定义视图

  26. 26

    带有XIB的自定义UITableViewCell

  27. 27

    使用Xib自定义UITableViewCell

  28. 28

    如何使用XIB自定义UINavigationBar?

  29. 29

    如何在Swift中使用XIB文件初始化/实例化自定义UIView类

热门标签

归档