내 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
}
}
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