UI Pickers让我再次陷入困境,我仍在学习UI选择器,所以不确定我是否在这里做了一些根本错误的事情.
试图从行UIPicker显示图像.
错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString _isResizable]: unrecognized selector sent to instance 0x70fc'
*** First throw call stack:
下面是代码:
#import "Imagepick.h"
@interface Imagepick ()
@end
@implementation Imagepick
@synthesize select;
@synthesize imageview;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
////arrays & objects
arrStatus = [[NSArray alloc] initWithObjects:@"pic1",@"pic2",nil];
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
//One column
return 1;
} …Run Code Online (Sandbox Code Playgroud) 我有UIPickerView一个带有整数值的部分的示例代码.如何使用不同的值制作3个部分 - 整数,字符串等?我如何处理didSelectRow3个部分的方法?
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate{
@IBOutlet weak var tF1: UITextField!
var progPicker=UIPickerView()
override func viewDidLoad() {
super.viewDidLoad()
progPicker.frame=CGRectMake(50, 50, 50, 162)
progPicker.delegate=self
progPicker.tag = 101
progPicker.selectRow(180, inComponent: 0, animated: true)
self.view.addSubview(progPicker)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func numberOfComponentsInPickerView(pickerView: UIPickerView!) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int {
return 250
}
func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String
{
return …Run Code Online (Sandbox Code Playgroud) 我正在 Swift 中实现一个简单的选择器视图。一切都已连接好,这是我迄今为止的所有代码:
//MARK: - picker data and delegates
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
{
return 2
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return self.visableScores
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
{
return "\(row)"
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
}
Run Code Online (Sandbox Code Playgroud)
visableScores 是一个整数。
出于某种原因,一旦我尝试在选择器视图上滚动,UI 就会冻结并且几乎没有响应。我从未使用过选择器视图。我做错了什么还是应该在别处寻找 UI 冻结的原因?
我有uiviewcontroller,uitextfields当用户点击文本字段时,uipickerview会出现如附件所示的内容。
我怎样才能制作多个uipickerview?例如,当用户点击国家/地区文本字段时,选择器视图将显示国家/地区数组数据,而当用户点击性别文本字段时,uipickerview 将显示性别数组数据等。我尝试过,但只能对一个数组执行此操作,该数组是国家/地区,如我的代码中所示。如果您能向我展示如何对其余的 uitextfields 执行此操作,我将不胜感激。
import UIKit
class testVC: UIViewController,UITextViewDelegate,UINavigationControllerDelegate,UIImagePickerControllerDelegate,UIPickerViewDelegate,UIPickerViewDataSource {
var countries = ["USA","UK","Spain" ]
var gender = ["Male","Female","Both"]
var language = ["English","French","Spanish","Other"]
override func viewDidLoad() {
super.viewDidLoad()
var pickerView = UIPickerView(frame: CGRectMake(0, 200, view.frame.width, 100))
pickerView.backgroundColor = .whiteColor()
pickerView.showsSelectionIndicator = true
var toolBar = UIToolbar()
toolBar.barStyle = UIBarStyle.Default
toolBar.translucent = true
toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
toolBar.sizeToFit()
pickerView.delegate = self
pickerView.dataSource = self
[![enter image …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码行更改UIPickerView整个应用程序的背景颜色,就像应用程序中的主题一样。这没有任何改变。
[[UIPickerView appearance] setBackgroundColor: [UIColor orangeColor]];
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下行,但这给出了一个看起来很糟糕的奇怪阴影背景。
[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UIPickerView class]]] setBackgroundColor: [UIColor darkGrayColor]];
Run Code Online (Sandbox Code Playgroud)
我希望背景颜色是一种纯色。
问题是,如何使用 更改UIPickerView整个应用程序的背景颜色UIAppearance?
有没有可能UITextField从UIPickerView?我把我UIPickerView的inputView文字存档。我在屏幕上有几个文本字段,我想简单地获取显示选择器视图的当前文本字段。
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
// something like let textField = pickerView.requestedTextField
}
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?
我在为 UIPicker 设置初始值时遇到问题。我有: UIPicker 在我的故事板中。连接到 TableViewController(我有静态表)类作为 IBOutlet:
class SettingsTableViewController: UITableViewController, UIPickerViewDelegate, UIPickerViewDataSource {
//Variables
let pricePerHour: Float = 0
let defaults = UserDefaults.standard
let currencies = ["USD", "RUR", "UAH", "BYN", "NIS"]
//IBOutlets
@IBOutlet weak var isTimeCafeSwitch: UISwitch!
@IBOutlet weak var pricePerHourTextField: UITextField!
@IBOutlet var currencyPicker: UIPickerView!
Run Code Online (Sandbox Code Playgroud)
我用这个答案作为设置初始值的例子。但是我收到 NSRangeException 是因为我想我正在尝试在 UI 选择器完全初始化之前为其设置值。我在我的代码中添加了一些打印来显示问题:
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
print("Picker view initialized - getting number of …Run Code Online (Sandbox Code Playgroud) 首先,不确定标题是否正确或提供了最好的描述,但我不确定还可以使用什么。
所以,我正在开发一个应用程序,但我在实现 UI 时遇到了卡住的部分。基本上,我有一个 VC(下图),它可以根据我从 JSON 文件中获得的信息进行自我定位。
问题是我需要在上侧有一个类似轮播的菜单,其中包含未定义数量的单元格(同样,取决于我从 JSON 文件中获得的内容)。我决定为此使用 UICollectionView 并且我设法毫无问题地实现了基础知识。
但这是我卡住的部分:
我试图找到类似的东西,但也许我没有在寻找正确的东西,因为我能找到的只是按单元格而不是屏幕分页 UICollectionView
另外,老实说,我从未见过具有这种行为的应用程序/ UICollectionView。
我在下面发布了部分代码,但它并没有多大帮助,因为它只是标准的 UICollectionView 方法。
有什么建议?
class PreSignupDataVC : UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UIPickerViewDelegate, UIPickerViewDataSource
@IBOutlet weak var cvQuestions: UICollectionView!
var questionCell : PreSignupDataQuestionCellVC!
var screenData : Array<PreSignupScreenData> = Array<PreSignupScreenData>()
var pvDataSource : [String] = []
var numberOfComponents : Int = 0
var numberOfRowsInComponent : Int = 0
var currentScreen : Int = 1
var selectedType : Int?
var selectedCell : …Run Code Online (Sandbox Code Playgroud) uipickerview scroll-paging uicollectionview uicollectionviewcell swift
我有一个用户输入时间的选择器视图.当他们向下滚动到第23小时时,我希望小时0显示为下一个项目,并且要重新开始的序列.我怎样才能做到这一点?
这是我当前的选择器视图数据源:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 3;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
NSArray *sectionContents = [[self dataForDatapickerRows] objectAtIndex:component];
NSInteger rows = [sectionContents count];
NSLog(@"component %d rows is: %d",component,rows);
return rows;
}
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component {
self.dataPickerInstance.backgroundColor=[UIColor whiteColor];
return ([[[self dataForDatapickerRows ]objectAtIndex:component] objectAtIndex:row]);
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if(component==0)
{
[self setHou:(NSInteger*)[[[self dataForDatapickerRows ]objectAtIndex:component] objectAtIndex:row]];
}
else if(component==1)
{
[self setMinut:(NSInteger*)[[[self dataForDatapickerRows ]objectAtIndex:component] objectAtIndex:row]];
}
else if(component==2)
{
[self setSecon:(NSInteger*)[[[self dataForDatapickerRows ]objectAtIndex:component] objectAtIndex:row]];
} …Run Code Online (Sandbox Code Playgroud) uipickerview ×10
ios ×6
swift ×6
iphone ×3
objective-c ×3
concurrency ×1
ios8 ×1
ipad ×1
picker ×1
swift3 ×1
uitextfield ×1
xcode ×1