Dynamic type support

Screen Shot 2014-05-29 at 4.39.24 PM

 

iOS7에서 지원하는 기능 중에 글자 크기를 바꿀수 있는 기능이 있다. OS에서 지원하는 앱 뿐만이 아니라 만약 서드 파티에서도 해당 기능을 구현했다면 동일하게 기능을 사용할 수 있다. 간단하게 어떻게 적용할 수 있는지에 대해서 적어 보았다.

 

1. Register Notification

가장 먼저해야 하는 것은 시스템에서 dispatch하는 notification을 잡기 위해서 옵저버를 등록해야한다.

  1. [[NSNotificationCenter defaultCenter]
  2.     addObserver:self
  3.     selector:@selector(preferredContentSizeChanged:)
  4.     name:UIContentSizeCategoryDidChangeNotification
  5.     object:nil];

 

2. Make a handler method

핸들러 메서드 안에서 UIFont 클래스의 preferredFontForTextStyle: 메서드를 통해서 글꼴 스타일을 적용한다.

  1. - (void)preferredContentSizeChanged:(NSNotification *)notification
  2. {
  3.     [self.tableView reloadData];
  4.  
  5.     //OR
  6.  
  7.     self.mainTextView.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
  8. }

 

해외 튜터리얼 참조