iOS - 사용자 지정 폭탄 상자
#pragma mark --
- (UIView *)popTopView {
if (!_popTopView) {
//
_popTopView = [[UIView alloc] initWithFrame:CGRectMake(0, -SCREEN_HEIGHT_NO_STATUS / 2.0f, SCREEN_WIDTH_NO_STATUS, SCREEN_HEIGHT_NO_STATUS / 2.0f)];
_popTopView.backgroundColor = [UIColor whiteColor];
//
UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 64.0f)];
titleView.backgroundColor = MAIN_TINT_COLOR;
[_popTopView addSubview:titleView];
UILabel *topTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, SCREEN_WIDTH, 44.0f)];
topTitleLabel.font = [UIFont systemFontOfSize:20.0];
topTitleLabel.textAlignment = NSTextAlignmentCenter;
topTitleLabel.textColor = [UIColor whiteColor];
topTitleLabel.backgroundColor = [UIColor clearColor];
topTitleLabel.text = @" ";
[titleView addSubview:topTitleLabel];
}
return _popTopView;
}
- (UIView *)maskView {
if (!_maskView) {
_maskView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
_maskView.backgroundColor = [UIColor colorWithWhite:0.000 alpha:0.400];
_maskView.alpha = 0.0f;
//
UIButton *btn = [[UIButton alloc] initWithFrame:[UIScreen mainScreen].bounds];
[btn addTarget:self action:@selector(close) forControlEvents:UIControlEventTouchUpInside];
[_maskView addSubview:btn];
}
return _maskView;
}
- (void)openPopTopViewAction{ //
[[UIApplication sharedApplication].keyWindow addSubview:self.maskView];
[[UIApplication sharedApplication].keyWindow addSubview:self.popTopView];
[UIView animateWithDuration:0.25 animations:^{
self.maskView.alpha = 1.0;
self.popTopView.transform = CGAffineTransformTranslate(self.popTopView.transform, 0, SCREEN_HEIGHT_NO_STATUS / 2.0f);
} completion:^(BOOL finished) {
NSLog(@"%s", __func__);
}];
}
- (void)close {
//
[UIView animateWithDuration:0.3 animations:^{
self.maskView.alpha = 0.0;
self.popTopView.transform = CGAffineTransformIdentity;
}completion:^(BOOL finished) {
[self.maskView removeFromSuperview];
[self.popTopView removeFromSuperview];
}];
}
구체적인 호출 방법:
직접 하단 탄창 열기 방법
[self openPopTopViewAction];
을 호출하거나 탄창 닫기 방법[self close];
을 호출합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.