How can I change text font in UIPickerView in iOS 7?
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ UILabel* tView = (UILabel*)view; if (!tView) { tView = [[UILabel alloc] init]; [tView setFont:[UIFont fontWithName:@"Helvetica" size:14]]; //[tView setTextAlignment:UITextAlignmentLeft]; tView.numberOfLines=3; } // Fill the label text here tView.text=[wishvalues objectAtIndex:row]; return tView;}
Here's the Swift version tested on iOS8:
Update in Swift for iOS8, you can add this to your delegate:
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView { var pickerLabel = view as? UILabel; if (pickerLabel == nil) { pickerLabel = UILabel() pickerLabel?.font = UIFont(name: "Montserrat", size: 16) pickerLabel?.textAlignment = NSTextAlignment.Center } pickerLabel?.text = fetchLabelForRowNumber(row) return pickerLabel!;}
Updated for Swift 4:
public func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView { let label = view as? UILabel ?? UILabel() label.font = .systemFont(ofSize: 16) label.textColor = .white label.textAlignment = .center label.text = text(for: row, for: component) return label}