소셜 미디어 IPad 응용 프로그램에서보기를 제어하는 ​​방법 - iPad 응용 프로그램을 만들 때

IPad 응용 프로그램에서보기를 제어하는 ​​방법 - iPad 응용 프로그램을 만들 때

비디오: iPad 및 iPad Pro — 화면 캡쳐에 Apple Pencil로 바로 그림 그리는 법 — Apple 2024

비디오: iPad 및 iPad Pro — 화면 캡쳐에 Apple Pencil로 바로 그림 그리는 법 — Apple 2024
Anonim

에 있지 않은 코드) iPad 응용 프로그램을 만들 때보기를 제어하는 ​​코드를 포함해야합니다 다음 예제의 iPad 응용 프로그램은 화면 아래로 스크롤하는 단어를 표시하도록 설계되었습니다.DelThoughtsViewController.m 파일을 열어서 텍스트 편집기에 나타나면 코드를 굵게 표시합니다 (코드는 굵게 표시되지 않습니다). h "

#import " 상수 h " @implementation DeepThoughtsViewController @ 뷰 기반 응용 프로그램 템플릿에 의해 제공됩니다. (999) #pragma mark 라이프 사이클보기 / * // 지정된 이니셜 라이저가 뷰가로드되기 전에 필요한 설정을 수행하도록 오버라이드 - (id) initWithNibName: (NSString *) nibNameOrNil 번들: (NSBundle *) nibBundleOrNil {if (self = [슈퍼 initWithNibName: nibNameOrNil 번들: nibBundleOrNil]) {// 사용자 정의 initia lization} return self;} * / / * // nib을 사용하지 않고 프로그램 방식으로 뷰 계층을 작성하려면 loadView를 구현합니다. - (void) loadView {} * / / * // 뷰를로드 한 후 추가 설정을 수행 할 viewDidLoad를 구현합니다. 일반적으로 펜촉에서 가져옵니다. - (void) viewDidLoad {[super viewDidLoad];} * / - (무효) viewDidLoad { [super viewDidLoad]; [NSTimer scheduledTimerWithTimeInterval:. 5 타겟: 셀렉터: @selector (onTimer) userInfo: nil repeats: YES]; " forKey: kWordsOfWisdom] " "(999)"; fallingWords = @ " 평화 사랑의 그루비 음악 "; } else { fallingWords = [[NSUserDefaults standardUserDefaults] stringForKey: kWordsOfWisdom]; } { [[NSUserDefaults standardUserDefaults] setDouble: 10. 0 forKey: kSpeed]; 속도 = kMaxSpeed-10. 0;} else { speed = kMaxSpeed ​​- [[NSUserDefaults standardUserDefaults] doubleForKey: kSpeed]; UILabel * fallingImageView = [[UILabel alloc]] initWithFrame: CGRectMake (0, 0) [999] #pragma mark - #pragma mark 애니메이션 - (void) onTimer {, 100, 30)]; fallingImageView. text = fallingWords; fallingImageView. textColor = [UIColor purpleColor]; fallingImageView. font = [UIFont systemFontOfSize: 30]; fallingImageView. backgroundColor = [UIColor clearColor]; fallingImageView. adjustsFontSizeToFitWidth = YES; int startX = round (random () % 400); int endX = round (random () % 400); // 떨어지는 속도 double randomSpeed ​​= (1 / round (random () % 100) +1) * 속도; // 이미지 크기; double scale H = (1 / round (random () % 100) +1) * 60; double scaleW = (1 / round (random () % 100) +1) * 200; [자기.뷰 addSubview: fallingImageView]; fallingImageView. frame = CGRectMake (startX, -100, scaleW, scaleH); fallingImageView. 알파 =. 75; [UIView beginAnimations: nil context: fallingImageView]; [UIView setAnimationDuration: randomSpeed]; [UIView setAnimationDelegate: self]; [UIView setAnimationDidStopSelector: @selector (animationDone: finished: context:)]; fallingImageView. frame = CGRectMake (endX, 자기 전망. 프레임. 크기. 높이, scaleW, scaleH); [UIView commitAnimations]; (NSString *) animationID: (NSNumber *) 완료된 컨텍스트: (id) context { UIImageView * fallingImageView = context; [fallingImageView removeFromSuperview]; [fallingImageView release]; #pragma mark - #pragma mark 컨트롤 - (IBAction) 설정 { } #pragma mark - #pragma mark Orientation // 기본값 세로 방향이 아닌 다른 방향을 허용하려면 무시하십시오. - (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {return YES}} #pragma mark - #pragma mark 메모리 관리 - (void) didReceiveMemoryWarning {// 뷰가없는 경우 뷰를 해제합니다. 슈퍼 뷰. [슈퍼 didReceiveMemoryWarning]; // 사용하지 않는 캐시 된 데이터, 이미지 등을 해제하십시오.} - (void) viewDidUnload {// 기본보기의 유지 된 하위 뷰를 모두 해제합니다. // e. 지. 본인. myOutlet = nil;} - (void) dealloc {[super dealloc];} @end 다음 코드를 추가하십시오.

추가 한 첫 번째 명령문은 상수를 가져옵니다. h 파일. 이제 NSUserDefaults로 설정 한 모든 키를 후속 코드에서 사용하여 사용자 설정을 검색 할 수 있습니다. Objective-C는 @synthesize 문을 포함 할 때마다 필요한 접근 자 메서드를 만듭니다. 위 코드의 문은 각 @property 선언 (speed 및 imageView)에 대한 접근 자 메서드를 만듭니다. 두 개의 #pragma mark 문에는 초기화 및로드 뷰 코드가 들어 있습니다. viewDidLoad 메시지는 nib 파일 (Interface Builder에서 수정할 수있는.xib 파일)에서 뷰를로드 한 직후에 전송됩니다. 이것은보기 초기화를 위해 코드를 삽입하는 곳입니다.이 경우 DeepThoughts의 하강 단어를 표시하는 것을 의미합니다. 삽입 한 viewDidLoad 메서드는 낙하 단어의 각 표시 사이의 간격에 대한 타이머를 설정하여 시작합니다.
NSTimer 클래스를 사용하여 타이머를 만듭니다. 타이머는 특정 시간 간격이 경과 할 때까지 기다린 후 실행되어 지정된 메시지를 대상 개체로 보냅니다. 이 코드는 scheduledTimerWithTimeInterval을 사용합니다. target: selector: userInfo: repeats: 클래스 메소드를 사용하여 타이머를 만들고 기본 모드의 현재 실행 루프에서 예약합니다. 간격은 0.5 초이며 대상은 자체이며 셀렉터는 타이머가 실행될 때 대상에 보내는 메시지입니다.이 경우에는 onTimer입니다. userInfo는 타이머에 대한 사용자 정보이며 (nil로 설정 됨) 타이머는 반복으로 설정됩니다. 즉, 무효화 될 때까지 반복적으로 자체 예약됩니다. 다음 코드는 kWordsOfWisdom 설정이 NSUserDefaults로 이동되었는지 확인합니다
. 코드는 응용 프로그램을 처음 실행 한 후에 만 ​​사용자 기본 설정을 NSUserDefaults로 이동합니다. 설정이 아직 NSUserDefaults로 이동되지 않은 경우 코드는 fallingWords에 대한 초기 환경 설정 값 ("Peace Love Groovy Music")을 사용합니다. 설정이 NSUserDefaults로 이동 된 경우 코드는이를 읽은 다음 사용자의 환경 설정에 관계없이 fallingWords를 설정합니다. 코드는 속도 설정으로이 확인을 반복합니다. standardUserDefaults (NSUserDefaults 클래스 메소드)를 사용하여 표준 사용자 기본 설정에 액세스하고 거기에 데이터를 저장할 수 있습니다. 컨트롤이라는 제목의 #pragma mark 섹션에는 라이트 정보 버튼을보기 컨트롤러에 연결하기위한 자리 표시 자 설정 방법이 포함되어 있습니다. IBAction 한정자를 사용하는 작업 메서드입니다. 타이머를 디스플레이의 실제 그림에 연결하는 것이 onTimer 방법입니다. UILabel 클래스는 읽기 전용 텍스트 뷰를 구현합니다. 이 클래스를 사용하여 한 줄 또는 여러 줄의 정적 텍스트를 그릴 수 있습니다. 이 경우 코드 블록은 CGRectMake와 함께 initWithFrame 메서드를 사용하여 사각형 원점의 x 좌표 및 y 좌표 (0, 0) 및 지정된 너비 및 높이 (100, 30)를 사용하여 사각형을 만듭니다..

코드는 fallingWords 문자열을 fallingImageView로 변환하여 표시합니다. 텍스트 색상, 글꼴 및 배경색을 설정합니다. 너비의 글꼴 크기를 조정합니다. font 및 textColor 속성은 전체 텍스트 문자열에 적용됩니다.

코드의 다음 블록은 startingImageView의 시작 및 끝점 (startX 및 endX), 속도 및 width (scaleW) 및 height (scaleH)에 대해 random 함수를 사용합니다. beginAnimations: context: 메소드는 애니메이션 블록을 시작하고 commitAnimations 메소드는 블록을 종료합니다. 블록 내에서 코드는 속성 값을 설정하여 애니메이션을 구성하는 시각적 변경을 수행합니다.
  • setAnimationDuration 메소드는 애니메이션 기간을 설정하고 setAnimationDidStopSelector는 애니메이션이 중단 될 때 애니메이션 위임자에게 보낼 메시지를 설정합니다. 애니메이션 위임자는 animationDone이며, fallingFomSuperview (UIView 클래스의 인스턴스 메서드)를 사용하여 fallingImageView를 제거한 다음 release (NSAutoreleasePool 클래스의 인스턴스 메서드)를 사용하여 fallingImageView를 해제합니다.

  • 마지막으로이 코드에는 섹션을 Orientation으로 표시하는 두 개의 #pragma mark 문과 didReceiveMemoryWarning 메서드 위에 두 개의 #pragma mark 문이있어 해당 섹션을 메모리 관리로 표시합니다.

IPad 응용 프로그램에서보기를 제어하는 ​​방법 - iPad 응용 프로그램을 만들 때

편집자의 선택

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

판매를위한 크로스 플랫폼 참여는 Best Buy입니다. Best Buy는 모바일 쇼핑 및 소셜 쇼핑을 매장의 각 품목에 대한 QR 코드를 사용하여 매장 내 경험으로 가져 왔습니다. 고객은 상점의 각 항목에 대한 QR 코드를 스캔하여 리뷰를 포함한 더 많은 정보를 얻을 수 있습니다.

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그 또는 사이트에서 Google 웹 로그 분석 추적 통계를 사용하여 빠르고 쉽게 설치할 수 있습니다. 설치는 1 분 밖에 걸리지 않으며 완전히 고통스럽지 않습니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스와 대시 보드에서 로그인하십시오.

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

단 1 분이며 고통스럽지 않습니다. 곧 Google 애널리틱스 덕분에 잠자는 동안 소셜 미디어 측정 항목을 추적하게 될 것입니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스 및 대시 보드에 로그인하고 톱니 바퀴 아이콘을 클릭하기 만하면됩니다. ...

편집자의 선택

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

다 변수 테스트뿐만 아니라 요인 일정을 유지하고 다양한 시나리오에서 다른 결과를 테스트하여 마케팅 자동화 테스트를 수행하는 것을 의미합니다. 하나의 유료 검색 광고를 통해 사람들을 2 개의 개별 방문 페이지로 유도하는 것이 그 예입니다. 방문 페이지 테스트하기 ...

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

마케팅 자동화 도구의 사용을 극대화하기 위해 먼저 사람과 콘텐츠와의 관계를 이해해야합니다. 올바른 사람에게 올바른 콘텐츠를 보내는 경우에만 자동화가 유용합니다. 이를 올바르게 수행하는 방법에 대한 기본적인 이해를 돕기 위해 사람들은 두 가지 유형이 관련되어 있음을 인식해야합니다 ...

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

고객 관계를 관리하는 데 도움이되는 Microsoft 도구 현대 직장에서 가장 유용한 도구 중 하나는 전자 메일이므로 전자 메일을 만들고 읽거나, 전자 메일을 특정 레코드에 연결하거나, 일정을 관리하는 데 숙련되어 있어야합니다. ...

편집자의 선택

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

당신은 자신의 웹 사이트 또는 블로그를 가지고 있고, 고객, 독자 또는 웹 호스팅 기술에 의존하는 추종자 만 있습니다. 다음 팁은 웹 호스팅 계획을 최대한 활용하는 데 도움이됩니다. 제어판에서 백업 옵션을 확인하십시오. 일부 제어판을 사용하면 자동화 된 백업을 수행 할 수 있습니다. ...

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

은 웹 호스트만큼 멋지고, 웹 사이트를 디자인, 제작 및 운영하는 데 도움이되는 일에는 한계가 있습니다. 그것은 모두 돈으로옵니다. 귀하가 기꺼이 지불하는 한 귀하의 호스트는 기꺼이 도움이 될 것입니다. 각 호스트는 다릅니다. ...