あらかじめ用意した背景画像を使っている。フォントまで専用に用意されていた。
実装は UISearchBar のサブクラスを作り、サブビューとしてUIImageViewを貼りつけておく。
そして layoutSubviews をオーバーライドして UITextFieldを見つけ出し、表現をカスタマイズする。
- (void)layoutSubviews { [self setShowsCancelButton:NO animated:NO]; UITextField *searchField; NSUInteger numViews = [self.subviews count]; for(int i = 0; i < numViews; i++) { if([[self.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) { //conform? searchField = [self.subviews objectAtIndex:i]; } } [self bringSubviewToFront:searchField]; if(!(searchField == nil)) { searchField.textColor = [self colorWithHex:0x8b909c]; searchField.font = [UIFont fontWithName:@"MyriadPro-It" size:18]; :
最近この「サブクラスでlayoutSubviewsをオーバライドする」UIカスタマイズ手法はよくみかける。パターン化されてきた感じ。
0 件のコメント:
コメントを投稿