With Objective-C, I used the code below to set / change the font family and collector size:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UILabel* tView = (UILabel*)view; if (!tView){ tView = [[UILabel alloc] init];
However, Swift does not accept stock from UIView to UILabel, and therefore I cannot follow this path, which will look something like the following:
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView { let label = view as! UILabel label.font = UIFont(name: "Times New Roman", size: 1.0) label.text = pickerData[row] return label }
The first stament (let label ....) raises an exception at runtime:
EXC-BAD INSTRUCTION (code = EXC_I386_INVOP, subcode = 0x0)
source share