iOS

razy loading in scrollview

Posted on

참고 링크:

Lazy Loading in UIScrollView in iPhone/iPad

 

Advertisements

배경을 특정한 패턴이나 이미지로 채우기

Posted on Updated on

뷰의 배경을 원하는 이미지로 채울수 있다.

View Controller에서 뷰가 로드된 후 배경을 그리기

- (void) viewDidLoad
{
[super viewDidLoad];
UIImage *image = [UIImage imageNamed: @"pattern.png"];
[self.view setBackgroundColor: [UIColor colorWithPatternImage: image]];
}

위의 방법은 이미지가 작은경우에 사용하는 것이 좋으나 이미지가 큰 경우에는 UIImageView 객체를 생성해서 이미지를 만들고 insertSubView 메소드를 이용해서 0번 인덱스로 추가하면 맨 아래에 이미지가 놓이게 되어 배경으로 보기게 된다.

- (void) viewDidLoad
{
[super viewDidLoad];
UIImageView *imageView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"pattern.png"]];
[self.view insertSubView: imageView atIndex: 0];
}

뷰의 서브클래스에서 drawRect를 오버라이드해서 배경을 그리기

- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"pattern.png"];
[image drawInRect: rect];
}

기타 참고할만한 자료

CGRect

Posted on Updated on

CGRect 클래스는 “CGGeometry.h”에 선언되어 있는데 선언된 내용은 다음과 같다.

struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;

view의 frame 속성에 값을 설정하려면 다음과 같이 두가지 방법을 이용할 수 있다.

CGRect rectFrame = CGRectMake(0, 0, 200, 50);

또는 다음과 같이 할 수 있다.

CGRect rectFrame = (CGRect){.origin=CGPointMake(0.0f, 0.0f), .size=CGSizeMake(200.0f, 50.0f)};

// CGRect 디버깅
NSLog( @"x = %f", rectFrame.origin.x);
NSLog( @"y = %f", rectFrame.origin.y);
NSLog( @"width = %f", rectFrame.size.width);
NSLog( @"height = %f", rectFrame.size.height);

iOS에서 화면 사이즈 구하기

Posted on Updated on

iOS에서 디바이스의 화면 크기를 구하려면 UIScreen 객체를 할당하고 관련 속성을 참조하면 된다.

entire screen의 bounds 구하기

CGRect rectBounds = [[UIScreen mainScreen] bounds];

application screen의 frame 구하기

CGRect rectFrame = [[UIScreen mainScreen] applicationFrame];

loadView 함수에서 view를 설정할 때 이용되는 예제는 다음과 같다.

- (void)loadView
{
// Setup the view
[self setView: [[UIView alloc] initWithFrame: [[UIScreen mainScreen] applicationFrame]]];
// Create image from the desired pattern
UIImage *pattern = [UIImage imageNamed: @"pattern.png"];
// Set the image as a background pattern
[self.view setBackgroundColor: [UIColor colorWithPatternImage: pattern]];
}