Я ищу несколько советов о том, как загрузить UIView из XIB-файла. Я попытался выполнить 5-е решение из этого tutorial.Загрузить UIView из XIB
Однако действия с кнопками не будут работать. Я настраиваю свой проект почти точно как учебник, но IBAction просто не будет вызван вообще. Я не уверен, что адаптивная компоновка вызвала эту странность или нет.
Будете ли вы любезны взглянуть на то, что произошло в моем проекте? Я создал небольшой проект только, чтобы получить кнопку работать и placed here.
Вот фрагмент кода:
@interface ProfileHeadingViewOwner : NSObject
@property (nonatomic, weak) IBOutlet ProfileHeadingView *profileHeadingView;
@end
@implementation ProfileHeadingViewOwner
@end
static ProfileHeadingViewOwner* __owner = nil;
@interface ProfileHeadingView()
@property (nonatomic, weak) IBOutlet UILabel *profileName;
@property (nonatomic, weak) UIViewController <ProfileHeadingViewDelegate> *delegateViewController;
@end
@implementation ProfileHeadingView
+(void)presentInViewController:(UIViewController<ProfileHeadingViewDelegate>*) viewController
{
// Instantiating encapsulated here.
//ProfileHeadingViewOwner *owner = [ProfileHeadingViewOwner new];
__owner = [ProfileHeadingViewOwner new];
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:__owner options:nil];
// Pass in a reference of the viewController.
__owner.profileHeadingView.delegateViewController = viewController;
// Add (thus retain).
[viewController.view addSubview:__owner.profileHeadingView];
}
+(void)setProfileName:(NSString*)name {
__owner.profileHeadingView.profileName.text = name;
}
-(IBAction)editAvatarButtonPressed:(UIButton *)sender {
////// THIS METHOD WON'T GET CALLED. WHY? ///////
[self.delegateViewController uploadProfileAvatar:self];
}
editAvatarButtonPressed
: метод не будет вызываться при нажатии на кнопку.
Заранее спасибо. Loc Pham
Thanks Midhun MP. Это решило мою проблему, и я отметил это как правильный ответ. Просто из любопытства, если вы наблюдаете образец проекта от автора, дающего упомянутый учебник, он сделал именно то, что я сделал, но как-то это работает. Вот его примерный проект на Github, а «Развязанный» - это его способ внедрения XIB, который делает просмотр XIB автономным и многоразовым. https://github.com/eppz/iOS.Blog.UIView_from_Xib –
@LocPham: Добро пожаловать. Я проверяю его проект. –