Я создал собственный подкласс UIView вместе с xib-файлом и объявил IBOutlets и IBActions в пределах настраиваемого класса.Пользовательский UIView загружен из Xib
@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 на мой пользовательский класс.
После этого я добавил несколько кнопок, которые подключены к указанным выше методам.
Внутри 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 (код = 2, адрес = 0xb0c
Может ли кто-нибудь помочь мне с этим. Я чувствую, что, вероятно, я ошибаюсь в создании и загрузке пользовательских uiviews из xib.
Если вам нужна дополнительная информация, то дайте мне знать. Большое спасибо.
Дальнейшая ссылка При создании пользовательского представления с использованием xib НЕ устанавливайте владельца файлов. Вместо этого создайте все свои IBOutlets и IBActions, как обычно, а затем подключите их, откройте вкладку «Утилиты» и перетащите элемент управления.
Вы можете разместить весь ошибка? Или строка, где происходит ошибка? Включить контрольные точки для исключений в XCode. – KerrM
Если я поставил точку прерывания в один из методов, который вызывается, он никогда не попадает в точку останова. Он просто падает с кодом выше, и на выходе ничего не отображается. Я добавил точку останова «Все исключения» и все еще ничего не отображается на выходе. – pls