wannabegeek / pickertableviewcell Goto Github PK
View Code? Open in Web Editor NEWUIPickerView as a keyboard view for UITableViewCell
Home Page: http://www.wannabegeek.com/?p=104
UIPickerView as a keyboard view for UITableViewCell
Home Page: http://www.wannabegeek.com/?p=104
when the cell include a textfield ,scroll out of table ,click the done button ,crash
Hey,
first: I love your PickerTableViewCell! Thanks for publishing this nice piece of code.
Unfortunately, I have two issues and am not being able to solve them (I will opentwo tickets here). Would be great if you could help. I am talking about iPhone. On iPad I didn't find any issues.
I am using the SimplePickerTableViewCell. If a tableview is large (has a few cells so that at least one cell is near to the bottom of the screen), then resignFirstResponder is called for this cell immediately after selecting it. So the cell looses focus immediately after selecting it.
However - the Picker and AccessoryView are visible, though. But due to the early call of resignFirstResponder, the cell isn't higlighted anymore, and - much more important - the value is not updated when the "done" button is pressed. Only if I select the same cell again, and it becomes first responder for at least a short time frame, the value is updated.
It only happens if a cell is close to the bottom of the table, so I guess it has something to do with the scrolling of the tableview if the picker appears.
I tried to debug a little bit to find out who is calling resignFirstResponder so early, but couldn't come to a solution. Doe you have any ideas/hints for me?
Kind regards, maw
Hi there,
I've been using your PickerTableViewCell with my app for the last few iOS version releases.
I ran a test of my app under beta version 5 of iOS 7 and found it crashes when I tried to select a value in an existing SimplePickerInputTableViewCell. Would you have any idea what may be the problem?
All I get is the following:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewWrapperView indexPathForCell:]: unrecognized selector sent to instance 0x16d5ccb0'
Hi, first, thanks for an awesome "framework". Got it working quite fast.
Only have one problem left. In your project the tableview moves when selecting a cell that are "low" on the screen so that the keyboard won't be in the way when it appears. It also moves down along with the keyboard when it disappears. Have copied all your files and then made some small modifications to it but this feature seems to have been lost.
Have double checked the code against main for some hours now but can't see what I've missed. The settings in the storyboard is also the same. Where do you have the code for moving the view? Or which setting controls this?
Using the iPhone 5.0 simulator.
Regards / Jonas Andersson
I have a table view cell as an IntegerInputTableViewCell. When using the app on the iPhone 5S simulator and selecting the table view cell, the inputAccessoryView seems to appear off the bottom of the screen. What I see is just the black toolbar with the Done button at the bottom of the simulator screen, but the integer keypad is not visible.
The inputAccessoryView appears normally when using all other simulators (but the same issue is present when selecting the "Resizable iPhone" in XCode 6 beta). I am not sure what is visible on an actual iPhone 5S.
Has anyone else seen this behavior?
I've been using this in an app of mine, however when compiling with the iOS 8 SDK, the UIPicker no longer shows, I only see the accessory view with close button.
Anyone else having the same issue?
When using a SimplePickerInputTableViewCell in a table view on an iPad with iOS 8.0, I can get the following exception to occur:
Uncaught exception: UIPopoverPresentationController (<UIPopoverPresentationController: 0x12d56d1a0>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.
The easiest way to get this to occur is to double tap the table view cell in question. The crash happens about 90% of the time. Other press combinations have also worked to reproduce the issue, but I cannot reliably repeat the other combinations.
I had a very tentative fix which makes extensive changes to the PickerInputTableViewCell class to make it in line with the new UIPopoverPresentationController and UIPopoverPresentationControllerDelegate classes in iOS 8. I will work to submit a pull request.
Anyone else seeing this issue?
how to change simplepickerview to Multiple pickerview?
I am using multiple "SimplePickerInputTableViewCell" in single table. each of the SimplePickerInputTableViewCell have different options. I need to set different data for each cell in order to achieve my purpose.
As soon as I am trying to open "UIPickerView" after tapping the cell it is throwing following exception:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (5) must be equal to the number of rows contained in that section before the update (14), plus or minus the number of rows inserted or deleted from that section (0 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'
*** First throw call stack:
(
0 CoreFoundation 0x0298c1e4 exceptionPreprocess + 180
1 libobjc.A.dylib 0x0270b8e5 objc_exception_throw + 44
2 CoreFoundation 0x0298c048 +[NSException raise:format:arguments:] + 136
3 Foundation 0x020de4de -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
4 UIKit 0x01296f63 -[UITableView _endCellAnimationsWithContext:] + 13402
5 UIKit 0x012a6cea -[UITableView endUpdatesWithContext:] + 51
6 UIKit 0x012a6d18 -[UITableView endUpdates] + 41
7 UIKit 0x0182a2e7 -[UIPickerColumnView endUpdates] + 76
8 UIKit 0x011aeba1 __43-[UIPickerView _updateWithOldSize:newSize:]_block_invoke + 201
9 UIKit 0x0122481f +[UIView(Animation) performWithoutAnimation:] + 82
10 UIKit 0x01224868 +[UIView(Animation) _performWithoutAnimation:] + 40
11 UIKit 0x011aeabe -[UIPickerView _updateWithOldSize:newSize:] + 343
12 UIKit 0x011aedda -[UIPickerView setFrame:] + 377
13 UIKit 0x0121b7b0 -[UIView(Geometry) _applyAutoresizingMaskWithOldSuperviewSize:] + 840
14 UIKit 0x0121c552 -[UIView(Geometry) _resizeWithOldSuperviewSize:] + 290
15 UIKit 0x0121c5aa -[UIView(Geometry) resizeWithOldSuperviewSize:] + 80
16 UIKit 0x0121b185 __46-[UIView(Geometry) resizeSubviewsWithOldSize:]_block_invoke + 87
17 CoreFoundation 0x02a08d86 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 102
18 CoreFoundation 0x02a08c5f -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 239
19 UIKit 0x0121b115 -[UIView(Geometry) resizeSubviewsWithOldSize:] + 149
20 UIKit 0x01219c4e -[UIView(Geometry) setFrame:] + 559
21 UIKit 0x017bcfc9 -[_UIPopoverView layoutSubviews] + 257
22 UIKit 0x017bccc1 __35-[_UIPopoverView willMoveToWindow:]_block_invoke + 36
23 UIKit 0x0122481f +[UIView(Animation) performWithoutAnimation:] + 82
24 UIKit 0x01224868 +[UIView(Animation) _performWithoutAnimation:] + 40
25 UIKit 0x017bcc95 -[_UIPopoverView willMoveToWindow:] + 325
26 UIKit 0x0121ed36 -[UIView(Hierarchy) _willMoveToWindow:] + 866
27 UIKit 0x0121e7de -[UIView(Hierarchy) _willMoveToWindow:withAncestorView:] + 700
28 UIKit 0x0122a849 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 456
29 UIKit 0x0121ddba -[UIView(Hierarchy) addSubview:] + 56
30 UIKit 0x017c4426 -[UIPopoverController _commonPresentPopoverFromRect:inView:permittedArrowDirections:animated:] + 2523
31 UIKit 0x017c53c3 -[UIPopoverController presentPopoverFromRect:inView:permittedArrowDirections:animated:] + 77
32 UIKit 0x0cea8ad5 -[UIPopoverControllerAccessibility(SafeCategory) presentPopoverFromRect:inView:permittedArrowDirections:animated:] + 109
33 Totally Cricket 0x0004b6c3 -[PickerInputTableViewCell becomeFirstResponder] + 1283
34 Totally Cricket 0x0004bd84 -[PickerInputTableViewCell setSelected:animated:] + 132
35 UIKit 0x012a8905 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1357
36 UIKit 0x012a8b14 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 279
37 UIKit 0x012ad10e __38-[UITableView touchesEnded:withEvent:]_block_invoke + 43
38 UIKit 0x011dc0aa ___afterCACommitHandler_block_invoke + 15
39 UIKit 0x011dc055 _applyBlockToCFArrayCopiedToStack + 403
40 UIKit 0x011dbe76 _afterCACommitHandler + 532
41 CoreFoundation 0x0295436e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 30
42 CoreFoundation 0x029542bf __CFRunLoopDoObservers + 399
43 CoreFoundation 0x02932254 __CFRunLoopRun + 1076
44 CoreFoundation 0x029319d3 CFRunLoopRunSpecific + 467
45 CoreFoundation 0x029317eb CFRunLoopRunInMode + 123
46 GraphicsServices 0x042b25ee GSEventRunModal + 192
47 GraphicsServices 0x042b242b GSEventRun + 104
48 UIKit 0x011bef9b UIApplicationMain + 1225
49 Totally Cricket 0x0000b2bd main + 141
50 libdyld.dylib 0x02efc701 start + 1
51 ??? 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Hey,
the PickerView on iPhone looks weird in landscape mode. Please have a look at this screenshot: http://wilmsen.org/pickerlandscape.png
Is this an issue of your code or am I implementing it just unproperly?
Thanks for your help, maw
Hi there,
I've been testing in iOS 8 beta and it seems, for some reason, that the SimplePickerInputTableViewCell does not display the set value when the view controller is initially loaded anymore...
The set value for the table view cell only gets displayed once you select the cell.
I've included screenshots to try and show what I'm talking about:
Thank you for your help! :)
I have a table view cell as an IntegerInputTableViewCell. When using the app on the iPhone 5S simulator and selecting the table view cell, the inputAccessoryView seems to appear off the bottom of the screen. What I see is just the black toolbar with the Done button at the bottom of the simulator screen, but the integer keypad is not visible.
The inputAccessoryView appears normally when using all other simulators (but the same issue is present when selecting the "Resizable iPhone" in XCode 6 beta). I am not sure what is visible on an actual iPhone 5S.
I see this message in the log output:
Can't find keyplane that supports type 4 for keyboard iPhone-Portrait-NumberPad; using 3876877096_Portrait_iPhone-Simple-Pad_Default
Has anyone else seen this behavior?
Thanks for the awesome library!
What license is this under. I would love to use this in one of my apps, but I can't do that without knowing the license. My preference would be the Apache 2.0 or public domain.
Thanks,
JoshTheGeek
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.