티스토리 뷰
아이폰에서 안드로이드의 Tost와 같은 기능을 만들기 위해 만들어 보았다.
1. UIView를 이용하여 화면을 생성하고 Label을 추가하였다.
-(void)createTostView
{
tostView = [[UIView alloc] initWithFrame:CGRectMake( 0, 0, 200, 40)];
tostView.center = CGPointMake(self.view.frame.size.width/2,
(self.view.frame.size.height2)+(self.view.frame.size.height4));
[tostView setBackgroundColor:[UIColor whiteColor]];
[self.navigationController.view addSubview:tostView];
//라운드 주기
tostView.layer.cornerRadius = 8;
//테두리 라인 주기
tostView.layer.borderColor = [UIColor lightGrayColor].CGColor;
tostView.layer.borderWidth = 0.5f;
//그림자 효과
tostView.layer.shadowColor = [UIColor blackColor].CGColor;
tostView.layer.shadowOffset = CGSizeMake( 2.5f, 3.5f);
tostView.layer.shadowOpacity = 0.4f;
tostView.layer.shadowRadius = 3.0f;
msgLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, tostView.frame.size.width-10, tostView.frame.size.height-10)];
[msgLabel setTextColor:[UIColor orangeColor]];
[msgLabel setFont:[UIFont systemFontOfSize:14]];
[msgLabel setTextAlignment:NSTextAlignmentCenter];
[msgLabel setNumberOfLines:0];
[msgLabel setAdjustsFontSizeToFitWidth:YES];
[tostView addSubview:msgLabel];
tostView.hidden = YES;
}
2. 애니메이션 효과 내기.
-(void)showTostMessage:(NSNotification *)noti
{
[self.view bringSubviewToFront:tostView];
NSString *msg = [noti object];
tostView.hidden = NO;
tostView.alpha = 0.0f;
msgLabel.text = msg;
[UIView animateWithDuration:1.0f animations:^{
tostView.alpha = 1.0f;
} completion:^(BOOL finished) {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
[self performSelector:@selector(hideTostMessage) withObject:nil afterDelay:2.0f];
}];
}
-(void)hideTostMessage
{
[UIView animateWithDuration:1.0f animations:^{
tostView.alpha = 0.0f;
} completion:^(BOOL finished) {
tostView.alpha = 1.0f;
tostView.hidden = YES;
}];
}
3. 사용하기.
//먼저 호출될 함수 선언해주고.
- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(showTostMessage:)
name:@"NOTI_TOST"
object:nil];
}
//호출 해 주면 된다.
[[NSNotificationCenter defaultCenter] postNotificationName:@"NOTI_TOST"
object:@"TOST 비스꼬름하게"
userInfo:nil];
'iOS > 자료정리' 카테고리의 다른 글
[iphone]UIDocumentInteractionController 확장자를 통한 실행 가능한 앱 찾기. (0) | 2014.06.05 |
---|---|
[iPhone]앱 업데이트 소요 시간, IAP 가격 변경 시 적용 시간 (2014.04.30 일 기준) (0) | 2014.04.30 |
[iPhone] UIView 모서리 둥글게 만들기, 그림자 주기(shadow), 이미지 없이 팝업 효과 내기. Tost 효과 내기 (0) | 2014.04.03 |
[iPhone] ipa 파일 배포하기 (0) | 2014.03.18 |
[iOS]zBar 사용하기 (0) | 2014.02.18 |