2012-04-13 2 views
1

내 UITableViewcell의 높이를 맞추기 위해 sizeWithFont:constrainedToSize:lineBreakMode:을 사용하고 있습니다. 아래 코드는 iPhone과 iPad에서 잘 작동합니다.Xcode : sizeWithFont : constrainedToSize : lineBreakMode : 시스템 텍스트 색상의 iPad 문제가 있습니까?

IB (Storyboard)에서 텍스트 색상을 "어두운 회색 색상"으로 설정했습니다. iPhone 및 iPad 용으로 별도의 스토리 보드를 사용하고 있는데 둘 다 색상을 설정했습니다. iPhone은 완벽하게 작동합니다. iPad하지만 내 어두운 회색을 사용하지 않는 대신 분명히 기본 텍스트 색상 (검정)을 사용하고 그것을 변경할 수없는 것 같습니다. 이 버그가 알려진 버그일까요? 아니면 내가 잘못한 것입니까?

sizeWithFont:constrainedToSize:lineBreakMode: 또는 다른 곳에 프로그래밍 방식으로 텍스트 색상을 추가하는 방법이 있습니까?

매우 감사드립니다.

if ([self.storyDescription description]) summary = [self.storyDescription description]; 

     if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad) { 
      CGSize s = [summary sizeWithFont:[UIFont systemFontOfSize:15] 
         constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT) // - 40 For cell padding 
          lineBreakMode:UILineBreakModeWordWrap]; 
      return s.height + 20; // Add padding 
     } else { 
      CGSize s = [summary sizeWithFont:[UIFont systemFontOfSize:18] 
          constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT) // - 40 For cell padding 
           lineBreakMode:UILineBreakModeWordWrap]; 
      return s.height + 40; // Add padding 
     } 

    } 

답변

1

sizeWithFont:constrainedToSize:lineBreakMode: 단순히 NSString의 크기를 계산합니다. NSString에는 색상 개념이 없으므로이 방법은 색상을 신경 쓰지 않습니다.

Xcode Storyboard 편집기에서 UILabel 속성의 색을 설정해야합니다. 또는 데이터 소스/대리자 방법 UITableView에서 UITableViewCelltextLabeldetailTextLabel을 설정할 수 있습니다.

+0

Xcode Storyboard에서 색상을 설정했지만 다시 iPhone에서만 작동합니다. IPad는 내가 스토리 보드에서 무엇을 설정하든 상관하지 않습니다. 프로그래밍 방식으로 끝내었다. if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { cell.textLabel.font = [UIFont systemFontOfSize : 16.0]; cell.textLabel.textColor = [UIColor darkGrayColor]; cell.detailTextLabel.textColor = [UIColor darkGrayColor]; cell.textLabel.shadowColor = [UIColor lightTextColor]; cell.textLabel.shadowOffset = CGSizeMake (1, 1); }' – user1297842

관련 문제