본문 바로가기
[iOS Study] UITableViewCell 하위 클래스 만들기 [iOS Study] UITableViewCell 하위 클래스 만들기 출처 : 아론 힐리가스의 iOS 프로그래밍 -UITableView 는 UITableViewCell 객체의 목록을 표시한다.대다수 앱들은 기본 셀과 textLabel, detailTextLabel, imageView 로도 충분하다.하지만 좀 더 자세하거나 다른 레이아웃의 셀이 필요할 땐 UITableViewCell 의 하위 클래스를 만들어야 한다. -UIView 의 하위 클래스를 만들 때, 종종 뷰의 모양을 커스터마이즈하기 위해 drawRect: 메소드를 재정의한다.하지만 UITableViewCell 의 하위 클래스를 만들 떄는 대개 하위뷰들을 셀에 추가하여 모양을 커스터마이즈한다.하위뷰들을 셀에 직접 추가하지 않고 셀의 콘텐트 뷰(co.. 2016. 3. 8.
[iOS Study] 애니메이션 제어 [iOS Study] 애니메이션 제어 출처 : 아론 힐리가스의 iOS 프로그래밍 -애플 문서는 언제나 iOS 기술을 배우기에 좋은 출발점이다. -기본 애니메이션(basic animation) 은 시작값과 끝값 사이를 애니메이션으로 만든다. -[UIView animateWithDuration:0.5 animtations:^{ label.alpha = 1.0;}]; animateWithDuration:animations: 메소드는 즉시 반환한다.즉, 이 메소드는 애니메이션을 시작하지만 애니메이션이 완료되는 것을 기다리진 않는다. -UIView 에서 가장 간단한 블록 기반 애니메이션 메소드가 animateWithDuration:animations: 이다.이 메소드는 애니메이션이 수행되는 시간과 애니메이션을 적.. 2016. 3. 6.
[iOS Study] 뷰 컨트롤러 [iOS Study] 뷰 컨트롤러 출처 : 아론 힐리가스의 iOS 프로그래밍 -뷰 컨트롤러는 UIViewController 의 하위 클래스 인스턴스이다.뷰 컨트롤러는 뷰 계층구조를 관리한다.뷰 컨트롤러는 계층구조를 구성하는 뷰 객체들을 만들고 뷰 객체와 관련된 이벤트를 제어하고, 윈도우에 뷰 계층구조를 추가하는 역할을 한다. -UIViewController 의 하위 클래스는 중요한 프로퍼티를 하나 상속받는다. @property (nonatomic, strong) UIView *view; 이 프로퍼티는 UIView 인스턴스를 가리킨다.뷰 컨트롤러의 View 가 윈도우의 하위뷰로 추가되면, 뷰 컨트롤러의 뷰계층 전부가 윈도우에 추가된다. -뷰 컨트롤러의 view 는 화면에 보여줄 필요가 있을 때까지 만들어지.. 2016. 2. 18.
[android] face detect and cropper [android] face detect and cropper -https://github.com/lafosca/AndroidFaceCropper -아래와 같이 간단한 코드로 얼굴을 detect 해서 crop 한 결과를 전달해주는 open source.FaceCropper mFaceCropper = new FaceCropper();mFaceCropper.getCroppedImage(source); -얼굴 detect 를 어떻게 했을까?OpenCL 을 사용했을까 아니면 C 라이브러리를 사용했을까 궁금해하며 소스를 봤는데...안드로이드 자체에 FaceDetector 라는 녀석이 있었다. 오호? http://developer.android.com/reference/android/media/FaceDetector.. 2015. 12. 8.
[android] CardView [android] CardView https://developer.android.com/preview/material/ui-widgets.html#cardview CardView 는 FrameLayout 을 상속한 녀석이다.CardView 의 특징은 rounded corner 를 가질 수 있다는 것과 shadow 를 가질 수 있다는 것. shadow 를 만들기 위해서는 android:elevation 속성을 control 하면 된다. android:cardCornerRadius 속성을 통해 rounded corner 를 줄 수 있다. ( CardView.setRadius )android:cardBackgroundColor 속성을 통해 배경속성을 따로 줄 수 있다. Android, android:cardc.. 2015. 11. 30.
[android] expandable listview tutorial [android] expandable listview tutorial activity_main.xml view_list_group.xml view_list_item.xml MainActivity.javapackage com.example.test; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; import android.app.Activity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widge.. 2015. 11. 1.
Android GridLayout Tutorial Android GridLayout Tutorial 점점 화면에 표시하는 UI 가 많아지면서 Layout 의 중첩 ( overdrawing ) 으로 성능 영향이 생기기 시작했다.RelativeLayout 을 통해 이를 방지하는 tutorial 혹은 guide 들이 많이 나오기는 했지만,이는 xml 코드(?) 를 엄청 복잡하게 만들고, 유지보수 또한 어려워지기 쉽상이다. 그래서 ICS 부터 GridLayout 이라는 새로운 layout 이 도입되었다.물론 support-v7 를 통해 ICS 이전 버전에서도 GridLayout 을 이용할 수 있다. http://developer.android.com/reference/android/widget/GridLayout.html GridLayout 은 Web 의 Ta.. 2014. 6. 10.
Android RenderScript blur Android RenderScript Blur RenderScript 관련 API 들은 API 11 에 등장했다.하지만 Compat library 를 통해 API 8 부터 사용 가능하다. RenderScript 는 Graphic 작업을 할 때 CPU, GPU 중 해당 작업을 최적으로 처리할 수 있는 것을 찾아내서 multiple processor 작업을 하고 나중에 그 결과를 합치는 작업을 하여 성능을 매우 높인다. Native syntax 는 C99 기반으로, OpenCL, CUDA, GLSL 등이랑 비슷하다. private void blur(Bitmap bg, View textView, float radius) { Bitmap overlay .. 2014. 6. 8.
[JNI] bitmap handling source code frame. JNI, bitmap handling source code frame. #include /* Header for class com_example_coloring_utils_FloodFillUtils */#include #include #define LOG_TAG "DEBUG"#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) #ifndef _Included_com_example_coloring_utils_FloodFillUtils#define _Included_com_example_co.. 2014. 4. 16.
반응형