반응형


UIWebview 를 사용하여 iOS 앱 화면에 모바일웹 화면을 띄우는 방법은 간단합니다.

스토리 보드를 이용한 방법이 아래 링크에 잘 나와있습니다. 소스 코드만 봐도 간단하지요?

- (void)viewDidLoad

{

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    [self goToURL:@"https://mobile.twitter.com/waterstreetjr"];

}


// displays the URL

-(void)goToURL:(NSString*) fullURL{

    NSURL *url = [NSURL URLWithString:fullURL];

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    [_webView loadRequest:requestObj];

}


이렇게 UIWebview 를 만들고 나서...


1. 화면이 나오면 로딩이 끝날 때까지 흰색화면으로 남게 되는데요, 음.. 아래 그림처럼 로딩 이미지가 떠주면 어떨까 싶어서 추가해봤습니다.



#import <UIKit/UIKit.h>


@interface HomeViewController : UIViewController<UIWebViewDelegate>

{

     UIActivityIndicatorView* loadingIndicator;

}

@property (weak, nonatomic) IBOutlet UIWebView *webView;

@property (strong, nonatomic) UIActivityIndicatorView *loadingIndicator;


-(void)goToURL:(NSString*) fullURL;

@end


- (void)viewDidLoad

{

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    [_webView setDelegate:self];

    [self addLoadingIndicatorToView];

    [self goToURL:@"https://mobile.twitter.com/waterstreetjr"];

}


// add loading indicator

-(void)addLoadingIndicatorToView{

    loadingIndicator= [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

    [loadingIndicator setCenter:CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2)];

    [self.view addSubview:loadingIndicator];


}


// displays the URL

-(void)goToURL:(NSString*) fullURL{

    NSURL *url = [NSURL URLWithString:fullURL];

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    [_webView loadRequest:requestObj];

}


- (void)webViewDidStartLoad:(UIWebView *)webView{

    NSLog(@"webViewDidStartLoad");

    [loadingIndicator startAnimating];

}


- (void)webViewDidFinishLoad:(UIWebView *)webView{

    NSLog(@"webViewDidFinishLoad");

    [loadingIndicator stopAnimating];

}


- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{

    NSLog(@"didFailLoadWithError");

}


동작이 잘 되는 부분은 확인 해 봤습니다. 


2) 로딩 화면이 보이지 않고, 로딩이 끝난 후에 보여지면 어떨까 생각해봤습니다. 예를 들면 테이블 뷰가 나오고 그 중에서 다음 화면이 웹뷰인 셀이 있습니다. 눌렀을 시 UIwebview 로 넘어갈 때 로딩이 끝난뒤 넘어가게 할 수도 있습니다.



넘어가기 전 테이블 뷰에서 다음 화면인 웹 뷰로 가는 셀을 터치 했을 경우, pushViewController 를 부르기 전에, 웹뷰 를 미리 로딩을 할 수 있도록 합니다.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // check indexPath... myWebView = [[MyWebViewController alloc] init]; myWebView.delegate = self; [myWebView preLoadView]; }

웹뷰가 로딩이 끝나면 다음 화면으로 뷰가 넘어가게 됩니다.

- (void)webViewDidFinishLoad:(UIWebView *)webView { [self.navigationController pushViewController:myWebView animated:YES]; [myWebView release]; }

아직 테스트 된 코드는 아니지만, 실제 코드 적용 과 함께 테스트 후 영상을 올리도록 하겠습니다. 

반응형
반응형


Yosemite 업그레이드 하고 테스트 하다 항상 사용하는 parallels 가 작동하지 않아 부득이 하게 Mavericks 로 다시 내려왔습니다. 다운그레이드 이후 
여러가지 느림 현상 때문에 중요한 파일 몇개 빼고 다시 포멧 후 설치를 하게 되었습니다. 그러면서 안쓰는 앱들 정리하게 되었는데요, 아래 리스트는 제가 항상 설치하며 사용중인 앱 리스트입니다.
 


  1. iMovie : 간단한 동영상 제작앱입니다.. 여행 다녀와  짧은 동영상 만들기 딱 좋은 앱이라 자주 사용하는 편입니다.
  2. iPhoto : 아이폰 사진 동기화 하는 앱으로만 사용중입니다.
  3. Archy : 구글 Docs 를 접속을 브라우저 없이 앱안에서 사용할 수 있어서 애용하는 앱이지요.
  4. Backup to go : 리뷰를 보니 정말 유용한 듯.. 필수 목록에 일단 담아봤습니다. 꼭 사용해보고 싶은 앱
  5. Balsamic mockup : 간략한 화면 기획 할 때 회의에서도, 개인적으로도 아이디어 정리할 때 편리하네요.
  6. Caffeine : 자주 화면이 어두워지는 맥을 위해 카페인을 타먹여 항시 화면이 켜있게 해주는 앱.. :)
  7. Calendar : 상당 바에 올라가 있으며 화면을 크게 차지 하지 않아 스케줄 확인할 때 사용합니다. [이전리뷰] 2011/03/15 - 01. #Calendar 맥 어플 리뷰 #macApp 
  8. Calibre : kindle 구입후 설치한 앱입니다
  9. Dropbox : drobox 동기화 필수 앱이죠? Dropbox 서비스 사용을 위해 필수는 아니지만 있음 좋은 앱
  10. Evernote : 언제부터인지 사용안하는 에버노트. 하지만 이전 데이터 검색을 위해 설치해둡니다.
  11. Forklift어둠의 경로로 받은 앱인데 넘 유용하게 사용중여서 이번 가격다운할 때 구입해버렸습니다.
  12. Gomplayer : Movist 를 주로 사용하지만 간혹, 필요할 듯 싶어 가지고 있는 앱입니다. 없어도 되지만..
  13. Line : 라인 톡을 자주 사용해서 꼭 가지고 있습니다. 베타 때부터 쭈욱 잘 사용중입니다.
  14. Mars edit : 티스토리 글쓰기 에디터가 구릴 때 사용했던 블로그 에디터 입니다. 
  15. Parallels : VM 의 강자죠. 정말 잘 사용중입니다. 멀티 플랫폼 지원안하는 앱을 위해. 필수인 앱. OS 테스트도. :)
  16. Softmatic dockclock : Back to the mac 에서 소개된 dock 에 올라가는 시계앱. 이뻐서 계속 사용중입니다.
  17. Source tree :  bitbucket GIT 클라이언트. GIT 시작을  bitbucket 으로 하여 그냥 쭉 사용중입니다. 
  18. Sublime text2 : 예전 php 코딩 때 정말 유용하게 잘 사용했던 에디터 입니다. 요즘엔 텍스트 에디터로 사용 중
  19. Unarchiver : 간혹 zip 이 안열릴 때 이 앱을 사용합니다. 더 좋은 압축 앱도 있습니다만.. 
  20. Things : GTD 의 최강자 죠. 아이폰에서 잘 사용중이며, 언젠가는 구입을.. (쿨럭!!)
  21. Transmission : 토렌트 파일 다운을 위해 사용중입니다. 
  22. Trim enabler : SSD 를 위해서 꼭 필요한 앱입니다. 습관처럼 설치되고 있는 앱이죠. 
  23. Twitter : 트위터 클라이언트
  24. Visual paradigm : 이건.. 최근들어 사용중인 UML 툴입니다.
  25. Vox : mp3 player 인데, 상단 바에 컨트롤들이 이쁘게 들어가 넘 좋습니다.
  26. Xcode : objective-c 와 cocos-2dx 개발을 위해 필수였던.. 요즘엔 objective-c 만을 위해 사용 중입니다.
  27. Xmind : 아이디어 정리와 브레인스토밍에 정말 편리한 툴입니다. 
  28. Movist  : 영화 보는데 주로 사용하는 앱입니다.. 참 잘만든 앱인듯.. 팍팍 지원


이 외에도 skitch 나 Skype, KakaoTalk 도 사용중입니다만.. 개인적으로 꼭 사용하는 필수 앱은 아니여서 추가하지 않았습니다. 훨씬 좋은 앱들도 많을듯 싶지만.. 익숙한 앱들만 사용중이여서 다소 다른분들과 다른 내용들도 있을듯 싶네요 :)

반응형

+ Recent posts