Правильный способ сделать это:
1 New File -> UIView -> переименовать его в addLinkQuestionView
2- New File -> OBJ с классом -> переименовать его в addLinkQuestionView
Теперь у вас есть XIB, в .h и .m
3 Перейти к XIb и владельца файла выберите addLinkQuestionView у созданный на шаге 2
4- Дизайн XIB как соединение изображения вы публикуемую и соединить соответствующие выходы для addLinkQuestionView.h
5- Для инициализации вашего UIView в .h сделать это: #import «addLinkQuestionView.h»
@implementation addLinkQuestionView
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
// Initialization code.
[[NSBundle mainBundle] loadNibNamed:@"addLinkQuestionView" owner:self options:nil];
self.vuComplete.frame = CGRectMake(self.vuComplete.frame.origin.x, self.vuComplete.frame.origin.y, self.frame.size.width, self.frame.size.height);
[self addSubview:self.vuComplete];
self.vuContainer.layer.cornerRadius = 5.0;
self.vuContainer.layer.borderWidth = 1.0/[UIScreen mainScreen].scale;
self.vuContainer.layer.borderColor = [[UIColor clearColor]CGColor];
self.vuContainer.alpha = 0.0;
[self layoutIfNeeded];
}
return self;
}
-(void)awakeFromNib
{
}
- (IBAction)onBackgroundTapDismissView:(id)sender {
[UIView animateWithDuration:0.5
animations:^{self.vuContainer.alpha = 0.0;}
completion:^(BOOL finished){ }];
[self removeFromSuperview];
}
Примечание: - (IBAction) onBackgroundTapDismissView может быть достигнуто путем сбрасывания uitapgesturerecognizer на неактивен фоне UIView вашего addLinkQuestionView таким образом, чтобы ее нажатие может отклонить все UIView (vuComplete)
6- Затем добавить это в главном контроллере представления который представляет это всплывающее как th is: A- import addLinkQuestionView.h first B- добавить этот код в действие кнопки, которую вы нажимаете для представления addLinkQuestionView: addLinkQuestionView * popup = [[addLinkQuestionView alloc] initWithFrame: CGRectMake (0, 0, self.view .frame.size.width, self.view.frame.size.height)];
[UIView animateWithDuration:0.25
animations:^{popup. addLinkQuestionView.alpha = 1.0;}
completion:^(BOOL finished){ }];
[self.view addSubview:popup];
Удачи!
Что у вас есть для контейнера? экземпляр UIViewController или xib с .h и .m? – Harris
Пожалуйста, убедитесь, что вторая часть кода выполняется при нажатии области размытия, поставив точку останова или 'NSLog' –
. В принципе, что нужно, чтобы убрать всплывающее окно с анимацией, коснувшись фона? – Harris