posted by dalnimbest 2013. 8. 4. 14:29

// 'strBodyAll' is a variable that has text you are dealing with ('strBodyAll'에서 여러줄을 한줄로 바꿀려고 한다.)



//  '\r' 은 뉴라인이고, '+'은 그앞의 표현('\r')이 한줄또는 그이상이 나타나는것을 말한다.
NSRegularExpression *regEx= [NSRegularExpression regularExpressionWithPattern:@"\r+" options:NSRegularExpressionCaseInsensitive error:nil];


// Replacing actually happens here with one new line('\r') (실제로 여기서 치환이 일어난다.)
[regEx replaceMatchesInString:strBodyAll options:NSRegularExpressionCaseInsensitive range:NSMakeRange(0, [strBodyAll length]) withTemplate:@"\r"];


//  =================Bonus==================

// If you want to how many replace will be happen, just use below code (만약 몇개가 치환되는지 알고 싶으면 아래 코드를 사용할것)


// 'numberOfMatches' variables has the number of matched multilple new lines in 'strBodyAll' ('numberOfMatches'변수는 'strBodyAll'에서 나타는 여러줄의 총 수를 말한다.

NSUInteger numberOfMatches = [regEx numberOfMatchesInString:strBodyAll
                                                    options:0
                                                      range:NSMakeRange(0, [strBodyAll length])];


posted by dalnimbest 2013. 6. 20. 21:27

I heard that Git is installed by default on Mac OS. But I failed downloading my source code when I tried to use BitBucket to download some code with Git.

(맥에는 Git이 기본으로 깔려있다고 들었는데 BitBucket에서 Git을 통해서 소스를 다운받을려고 했는데 안되었다.)


So I need to install Git on my Mac OS. Here is what I learned how to install Git.

(그래서 Mac에 Git을 설치하는법을 살펴보았다.)


1. Download the latest version of Git from the web site "http://git-scm.com/downloads"

("http://git-scm.com/downloads" 에 가서 최신버전의 Git을 다운받는다.)


If there is no specific version for Lion or Mountain Lion. Snow Leopard will work fine.

(만약 라이온이나 산사자버전이 없으면 스노우 레오파드를 받으면 된다.)








Run the package file.

(PKG파일을 실행한다.)



Recommand restart your computer. Though It isn't necesary I believe.

( 설히후 잘 안되면 재부팅을 한다. )


2. configure git setting.

(환경설치)


Tip. If you are already at the Terminal and you can't find git command after intalling git on your Mac just restart the Terminal.

(팁. 만약 Git을 설치하기 터미널에 이미 들어와있으면 Git을 설치해도 명령어가 안먹을때가 있다. 이럴때는 터미널을 다시 실행하면 된다.)


enter user name 

(유저 이름 설정)


$ git config --global user.name "your name (유저 이름)"

ex. 






IT
posted by dalnimbest 2013. 6. 7. 13:15

잘쓰고 있던 아웃룩에 전제 메일 주소 정보에 액세스하려는 프로그램이 있다고 경고가 나타나기 시작했다. 




V3등으로 바이러스를 체크해봐도 되지 않아서 구글링을 해보니 경고창을 나타나지 않게 하는 옵션이 있었다.(단 2007버전에 해당되는 항목이다.) 주소록에 접근하는 프로그램이 어떤건지 찾아서 해결하고 싶었으나 일단 경고창만 나타나지 않게 하는것으로 만족할려고 한다.


1. 메뉴의 도구를 선택한다.



2. 도구내의 보안센터를 선택한다.



3. 프로그래밍 방식 액세스를 선택한후 메시지표시한함을 클릭한다.



posted by dalnimbest 2013. 5. 12. 21:46

UIImage *minImage = [UIImage imageNamed:@"min.png"];        //1번 좌측 최소값 이미지바
    UIImage *maxImage = [UIImage imageNamed:@"max.png"];        //2번 우측 최대값 이미지바
    UIImage *tumbImage = [UIImage imageNamed:@"Tumb1.png"];        //3번 슬라이더를 조절할 버튼
    
    minImage = [minImage stretchableImageWithLeftCapWidth:10 topCapHeight:0.0];
    maxImage = [maxImage stretchableImageWithLeftCapWidth:10 topCapHeight:0.0];
    
    [slider setMinimumTrackImage:minImage forState:UIControlStateNormal];
    [slider setMaximumTrackImage:maxImage forState:UIControlStateNormal];
    [slider setThumbImage:tumbImage forState:UIControlStateNormal];

posted by dalnimbest 2013. 5. 12. 10:45

http://www.idev101.com/code/User_Interface/sizes.html


//가로 세로 모드에서의 싸이즈 변화
http://www.vickiwenderlich.com/2011/07/basic-iphone-ipad-screen-component-pixel-dimensions/

//애플 문서
http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html


//무니만개발자님의 블로그
http://j2enty.com/entry/iOS-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%B9%8C%EB%8D%94-%EC%82%AC%EC%9A%A9%EC%8B%9C-%EC%9C%A0%EC%9D%98%EC%82%AC%ED%95%AD-%EB%B0%8F-Control-%EC%82%AC%EC%9D%B4%EC%A6%88



posted by dalnimbest 2013. 5. 11. 23:11

같은 형태의 이미지이지만 컨트롤의 넓이에 따라서 이미지를 여러개 만들어야할경우에는 이미지를 한개 만들어두고 늘여서 쓰면 된다. 영어로는 stretchable images라고 한다.

stretchable image를 사용하면 최소크기의 이미지를 한개 만들어서 사용하기 때문에 이미지 때문에 용량이 크지는것을 방지하여 용량측면에서도 이득이 있다.

stretchable image는 3개 부분으로 구분되어 있는데 왼쪽, 가운데, 오른쪽으로 나눌수 있는데, 왼쪽 오른쪽을 각각 left cap, right cap이라고 부른다. 실제로 늘어나는 이미지(stretchable)는 가운데 부분으로 보통 1pixel로 만든다.

<stretchImage.png 이미지>

                                  https://a248.e.akamai.net/camo.github.com/fa6222d5c3156dd454fad97410e5e91b7aba2020/687474703a2f2f69646576726563697065732e66696c65732e776f726470726573732e636f6d2f323031302f31322f627574746f6e2e706e673f773d313126683d3330

이런 형태의 이미지를 한개 만들어 두면 된다.
이경우 이미지의 총 넓이는 11pixel일때, left cap이 5pixel이고 middle은 1pixel, right cap은 left cap과 같아야 한다.(left cap과 right cap이 다를경우는 어떻게 해야할지 모르겠다.)

//소스 코드
UIImage* stretchImg =[[UIImage imageNamed:@"stretchImage.png"] stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0]
UIImageView* imageView = [[UIImageView alloc] initWithImage:stretchImg]; imageView.frame = CGRectMake(0, 0, 100.0, stretchImg.size.height);


<결과 Image>
https://a248.e.akamai.net/camo.github.com/66842c8beec27aaa76d5cef1b627021db6aec28e/687474703a2f2f69646576726563697065732e66696c65732e776f726470726573732e636f6d2f323031302f31322f7374726574636865645f627574746f6e2e706e673f773d33303026683d3330

 




posted by dalnimbest 2013. 5. 11. 21:08


//버튼 동적으로 생성하기
    UIButton *btnCancel = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btnCancel.frame = CGRectMake(110, 55, 90, 37);
    [btnCancel setTitle:[NSString stringWithFormat:@"%@",NSLocalizedString(@"Cancel", @"")]  forState:UIControlStateNormal];
    btnCancel.backgroundColor = [UIColor blueColor];           
    [btnCancel addTarget:self action:@selector(dismissBtnCancel) forControlEvents:UIControlEventTouchUpInside];
    [theView addSubview:btnCancel];

posted by dalnimbest 2013. 5. 11. 12:15

버튼등에 올릴 이미지가 버튼보다 크면 이미지밖에 안보인다. 또한 이미지전체가 메모리에 올라오기 때문에 불필요한 메모리 낭비가 된다.

그래서 버튼의 크기에 맞게 이미지를 resize해서 올린다.

//원본 이미지와 원하는 싸이즈를 받아서 싸이즈만큼의 이미지를 리턴
-
(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {     UIGraphicsBeginImageContext(newSize);
    
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];     UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();     UIGraphicsEndImageContext(); return newImage;
}

//사용방법
UISegmentedControl
* segmentButton; segmentButton = [UISegmentedControl segmentedControlWithItems: [NSArray arrayWithObjects: [self imageWithImage:[UIImage imageNamed:@"option_one.png"] scaledToSize:CGSizeMake(32, 32)], [self imageWithImage:[UIImage imageNamed:@"option_two.png"] scaledToSize:CGSizeMake(32, 32)], nil]]; segmentButton.contentMode = UIViewContentModeScaleToFill; segmentButton.frame = CGRectMake(10, 10, 200, 32); [view addSubview:segmentButton];