标签: uipickerviewdelegate

UIPickerView在Swift中使用"外部"DataSource和Delegate

我的视图中有两个不同的UIPickerView.当我将dataSource和委托设置为通过故事板托管的View时,它们工作得很好,但是当我尝试通过如下所述的代码执行此操作时,它不起作用.

两个选择器都应该有不同的数据来显示(甚至可能是委托的不同行为).因此,我想以编程方式将它们连接到不同的数据源.

我试图创建我自己的类,实现UIPickerViewDataSource-和UIPickerViewDelegate-Protocols,并将该类的对象连接到我的PickerViews,但它不起作用.在运行时抛出异常,terminating with uncaught exception of type NSException说明:

2015-01-09 17:50:05.333 Pet Stats[4953:244338] -[NSConcreteMapTable numberOfComponentsInPickerView:]: unrecognized selector sent to instance 0x7b4616d0
2015-01-09 17:50:05.338 Pet Stats[4953:244338] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMapTable numberOfComponentsInPickerView:]: unrecognized selector sent to instance 0x7b4616d0'
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它发挥作用?我错过了什么?这是我的代码:

WeightWheelController.swift

import UIKit

class WeightWheelController: NSObject, UIPickerViewDelegate, UIPickerViewDataSource {
    let ElementCount: Int!

    init(pickerInterval: Int) {
        ElementCount = pickerInterval
    }

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
        return 1
    }

    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> …
Run Code Online (Sandbox Code Playgroud)

uipickerview ios uipickerviewdatasource uipickerviewdelegate swift

8
推荐指数
1
解决办法
2818
查看次数

Swift中的第一个iOS应用程序 - UIPickerView中的问号

我正在研究我的第一个Swift ios应用程序.

无法将pickerData中的数据导入我的选择器,但我只得到问号而不是实际值.我想这与代表有关,但不确定是什么问题.

import UIKit
import CoreData

class NewWorkoutController: UIViewController,UIPickerViewDelegate, UIPickerViewDataSource {

@IBOutlet weak var workoutDistance: UITextField!

let pickerData = ["11","12","13","14","15"]

// Data Sources
func numberOfComponentsInPickerView(distancePickerView: UIPickerView) -> Int {
    return 1
}
func pickerView(distancePickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return pickerData.count
}
// Delegates
func pickerViewReturnRow(distancePickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
    return pickerData[row]
}
func pickerViewText(distancePickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    workoutDistance.text = pickerData[row]
}
func doneDistancePicker() {
    workoutDistance.resignFirstResponder() …
Run Code Online (Sandbox Code Playgroud)

uipickerview uikit ios uipickerviewdelegate swift

2
推荐指数
1
解决办法
1112
查看次数

uipickerview textcolor问题和颜色亮度问题

对于我的uipickerview,我有:

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {

    CGSize size = [pickerView rowSizeForComponent:0];
    UILabel *labelMain = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
    labelMain.backgroundColor = [UIColor clearColor];
    labelMain.font = [UIFont fontWithName:kFontSegoeSemiBold size:14];
    labelMain.textColor = kColor_default_orangeText;
    labelMain.textAlignment = NSTextAlignmentCenter;

    int age;
    // from
    if (pickerView == self.pickerFrom) {
        age = minAge + row;
    }
    // to
    else {
        age = minAge_pickerTo + row;
    }
    labelMain.text = [NSString stringWithFormat:@"%d", age];
    return labelMain;
}
Run Code Online (Sandbox Code Playgroud)

我知道如何制作蓝色选择指示器(我在uipickerview后面放置蓝色视图,并将标签背景颜色设置为clearColor.

我需要有这个选择器(从/到年龄选择器)(蓝色垂直线只适用于photoshop): 在此输入图像描述

现在我已经创建了这个选择器:

在此输入图像描述

我有一个问题:

我想在选择指示器(或拾取器视图的中心)中的区域具有白色文本颜色,在拾取器视图的其他区域中具有橙色文本颜色.可能吗?

objective-c uipickerview ios uipickerviewdelegate

1
推荐指数
1
解决办法
382
查看次数