페이지

2010년 10월 28일 목요일

필요한 랜덤수의 개수를 담으면, 랜덤수를 담은 배열을 리턴하는 메소드

+ (NSArray*)makeRandomIndexArray:(NSUInteger)countOfIndices
{
srand(time(NULL));
NSMutableArray* indices = [[NSMutableArray alloc] initWithCapacity:countOfIndices];
NSMutableArray* tempArray = [[NSMutableArray alloc]initWithCapacity:countOfIndices];
for (NSUInteger i = 0; i < countOfIndices; i++) 
{
[tempArray addObject:[NSNumber numberWithInt:i]];
}
for (NSUInteger i = 0; i < countOfIndices; i++) 
{
NSUInteger randomNumber = (rand()% (countOfIndices-i) );
NSNumber* number = [tempArray objectAtIndex:randomNumber];
[indices addObject:number];
[tempArray removeObjectAtIndex:randomNumber];
}
[tempArray release];
return (NSArray*)[indices autorelease];
}

2010년 10월 17일 일요일

UINavigationBar에 Background image설정하기

UINavigationBar에 Background image를 설정하는 간단한 방법으로는

UIImage *backImage = [UIImage imageNamed:@"title-bar.png"];
UIImageView *backImageView = [[UIImageView alloc] initWithImage:backImage];
[self.navigationController.navigationBar insertSubview:backImageView atIndex:0];

와같이 0번 index에 이미지뷰를 서브뷰로 더하는 것이다.

하지만 이렇게 할 경우 다음 depth로 넘어가자 타이틀이 가려지는 현상이 발생했다.
검색을 해보니 다양한 문제가 발생하기도 했는데 이를 완연히 방지하기 위해서는
UINavigationBar에 카테고리를 더해

#import "UINavigationBar+BackgroundImage.h"


@implementation UINavigationBar (BackgroundImage)

- ( void )drawRect:( CGRect )rect
{
    [ [ UIImage imageNamed:@"title-bar.png" ] drawInRect:CGRectMake( 0, 0, self.frame.size.width, self.frame.size.height )];
}

@end

와같이 drawRect를 구현해주면 별도의 설정없이 이미지가 더해진다.

2010년 10월 12일 화요일

MPMoviewPlayerController


Supported Formats

This class plays any movie or audio file supported in iOS. This includes both streamed content and fixed-length files. For movie files, this typically means files with the extensions .mov,.mp4.mpv, and .3gp and using one of the following compression standards:
  • H.264 Baseline Profile Level 3.0 video, up to 640 x 480 at 30 fps. (The Baseline profile does not support B frames.)
  • MPEG-4 Part 2 video (Simple Profile)
If you use this class to play audio files, it displays a white screen with a QuickTime logo while the audio plays. For audio files, this class supports AAC-LC audio at up to 48 kHz, and MP3 (MPEG-1 Audio Layer 3) up to 48 kHz, stereo audio.

 네트워크로 받아온 동영상을 재생하고 싶은 경우 성능상의 이유로 먼저 파일을 다운로드한 후에 local file을 재생하는 것이 좋습니다.

2010년 10월 6일 수요일

UIWebView가 자동으로 bounces되는 것 막기

subview중 scrollView를 찾아서 해결
for (id subview in testWebView.subviews)
    if ([[subview class] isSubclassOfClass: [UIScrollView class]])
        ((UIScrollView *)subview).bounces = NO;

2010년 10월 5일 화요일

구글맵에서 찾은 장소의 위치와 경도 알아내기

구글맵에서 원하는 장소를 찾은 뒤 주소창에
javascript:void(prompt('', gApplication.getMap().getCenter()));
라고 입력하면 된다.