hackiftekhar / iqactionsheetpickerview Goto Github PK
View Code? Open in Web Editor NEWActionSheet with UIPickerView
License: MIT License
ActionSheet with UIPickerView
License: MIT License
I drage IQActionSheetPickerView code to my project, and copy this code after:
IQActionSheetPickerView *picker = [[IQActionSheetPickerView alloc] initWithTitle:@"" delegate:self];
[picker setTitlesForComponents:@[@[@"First", @"Second", @"Third", @"Four", @"Five"]]];
[picker show];
after run it, i found the cancelButton and doneButton frame not correct.
Are you plan to add iOS 10 support? At this version of iOS bottom buttons located behind the screen edge.
Sometimes the app crashes when hitting "ok" after selection.
Crashed Thread 0 :
--
0 | libswiftCore.dylib | 0x1e3e2db00 | <redacted> + 296
1 | libswiftCore.dylib | 0x1e3e793f4 | <redacted> + 112
2 | libswiftCore.dylib | 0x1e3e9fb04 | <redacted> + 16
3 | libswiftCore.dylib | 0x1e3e9f9c0 | <redacted> + 24
4 | libswiftCore.dylib | 0x1e3ea6cfc | <redacted> + 12
5 | libswiftCore.dylib | 0x1e3c8a854 | <redacted> + 196
6 | libswiftCore.dylib | 0x1e3dae79c | <redacted> + 156
7 | IQActionSheetPickerView | 0x10198c3f4 | -[IQActionSheetPickerView pickerDoneClicked:] + 488
8 | UIKitCore | 0x1e2aeb300 | <redacted> + 96
9 | UIKitCore | 0x1e22e3cec | <redacted> + 156
10 | UIKitCore | 0x1e22e3c1c | <redacted> + 172
11 | UIKitCore | 0x1e2aeb300 | <redacted> + 96
12 | UIKitCore | 0x1e2594424 | <redacted> + 80
13 | UIKitCore | 0x1e2594744 | <redacted> + 440
14 | UIKitCore | 0x1e25937b0 | <redacted> + 568
15 | UIKitCore | 0x1e2b225c4 | <redacted> + 2108
16 | UIKitCore | 0x1e2b237ec | <redacted> + 3140
17 | UIKitCore | 0x1e2b0385c | <redacted> + 340
18 | App | 0x101322b24 | App + 1534756
19 | UIKitCore | 0x1e2bc99d4 | <redacted> + 1768
20 | UIKitCore | 0x1e2bcc100 | <redacted> + 4828
21 | UIKitCore | 0x1e2bc5330 | <redacted> + 152
22 | CoreFoundation | 0x1b628cf1c | <redacted> + 24
23 | CoreFoundation | 0x1b628ce9c | <redacted> + 88
24 | CoreFoundation | 0x1b628c784 | <redacted> + 176
25 | CoreFoundation | 0x1b62876c0 | <redacted> + 1004
26 | CoreFoundation | 0x1b6286fb4 | CFRunLoopRunSpecific + 436
27 | GraphicsServices | 0x1b848879c | GSEventRunModal + 104
28 | UIKitCore | 0x1e2ae9c38 | UIApplicationMain + 212
29 | HumanoApp | 0x1011b3170 | main () (AppDelegate.swift:21)
30 | libdyld.dylib | 0x1b5d4a8e0 | <redacted> + 4
Thread 1 (com.apple.uikit.eventfetch-thread):
--
0 | libsystem_kernel.dylib | 0x1b5e8c0f4 |
1 | CoreFoundation | 0x1b628c914 |
2 | CoreFoundation | 0x1b6287824 |
3 | CoreFoundation | 0x1b6286fb4 | CFRunLoopRunSpecific + 436
4 | Foundation | 0x1b6c5595c |
5 | Foundation | 0x1b6c557ec |
6 | UIKitCore | 0x1e2bcf754 |
7 | Foundation | 0x1b6d824a0 |
8 | libsystem_pthread.dylib | 0x1b5f192c0 |
9 | libsystem_pthread.dylib | 0x1b5f19220 |
10 | libsystem_pthread.dylib | 0x1b5f1ccdc |
0 | libsystem_kernel.dylib | 0x1b5e8c0f4 |
1 | CoreFoundation | 0x1b628c914 |
2 | CoreFoundation | 0x1b6287824 |
3 | CoreFoundation | 0x1b6286fb4 | CFRunLoopRunSpecific + 436
4 | CFNetwork | 0x1b68a174c |
5 | Foundation | 0x1b6d824a0 |
6 | libsystem_pthread.dylib | 0x1b5f192c0 |
7 | libsystem_pthread.dylib | 0x1b5f19220 |
8 | libsystem_pthread.dylib | 0x1b5f1ccdc |
0 | libsystem_kernel.dylib | 0x1b5e97b74 |
1 | libsystem_pthread.dylib | 0x1b5f1ccd4 |
0 | libsystem_kernel.dylib | 0x1b5e8c0f4 |
1 | CoreFoundation | 0x1b628c914 |
2 | CoreFoundation | 0x1b6287824 |
3 | CoreFoundation | 0x1b6286fb4 | CFRunLoopRunSpecific + 436
4 | Foundation | 0x1b6c5595c |
5 | HumanoApp | 0x1015254bc | -[_FSRRunLoopThread main] (FSRWebSocket.m:1843)
6 | Foundation | 0x1b6d824a0 |
7 | libsystem_pthread.dylib | 0x1b5f192c0 |
8 | libsystem_pthread.dylib | 0x1b5f19220 |
9 | libsystem_pthread.dylib | 0x1b5f1ccdc |
0 | libsystem_kernel.dylib | 0x1b5e97328 |
1 | libsystem_pthread.dylib | 0x1b5f192c0 |
2 | libsystem_pthread.dylib | 0x1b5f19220 |
3 | libsystem_pthread.dylib | 0x1b5f1ccdc
setTitlesForComponenets
should be setTitlesForComponents
Doesn't work in iOS 8... The only thing that shows up is the Picker title
While allocating an array of string "titlesForComponents" property in xcode8 swift3 , I am getting error -> "Cannot assign value of type NSArray to [Any]1 ".
Reply Asap
Memory leak. Please fix it thanks
Hello Iftekhar,
I have integrated your IQActionSheetPickerView in my application. Its working fine. But, when i tried to run the application in iOS7 i faced following warning in my log trace,
: CGContextSetFillColorWithColor: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
: CGContextSetStrokeColorWithColor: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
CGContextSaveGState: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
: CGContextSetFlatness: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
: CGContextAddPath: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
: CGContextDrawPath: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
: CGContextRestoreGState: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
: CGContextGetBlendMode: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
I checked your code too. You've not using drawRect method or any CGContext method. But, can't able to find why this warning raising. Facing only on iOS7
Awaiting for your reply.
Please, add support of iPhone X
I saw you wrote "Do not modify it's delegate".
Well Ok, but what if I'd like to do something the ValueChanged
delegate/event?
In this case I can't. In my opinion you should have written a IQDropDownTextFieldDelegate
similar to the UITextFieldDelegate
, so that everyone can listen to it's events.
May you implement it?
current version 1.0.2 does not support property "titleFont".
Thank you!
The layout is incorrect on iPad splitviewcontroller, specifically on the detail/secondary view controller. It's working correctly on iPad full screen though.
Since the updated version for iOS 8 the date has come out including the exact time and timezone, whereas before it was just the actual date, how can I re-implement this feature?
I've tried using NSDateFormatter with no luck.
First of all thanks for easy to use awesome control.
However I really need an initialization method or a way to customize titles and colors of bar button items cancel and done. So I can use it in my localized application.
Something like this maybe ?
First, I make a picker with 2 arrays like this "[self.picker setTitlesForComponents:@[self.provinces, self.cities]];"
Then, I want reload picker When I change the component and row like this "[self.picker reloadComponent:1];". But it does`t work.
How can I fix it?
I dont seem to see any kind of delegate that allows us to use the selected value : ( this is bad news considering this is by far the best quick action picker lib ive found besides that small detail
First of all thanks for the pickerview, it makes things much easier.
However there is strange bug if you want to use it with scroll view.
If you use IQActionSheetPickerView in a controller that has scroll view on top and scroll the view down and click a button for example triggering pickerview. The size of the pickerview is getting extended and buttons are not clickable anymore.
Did you come up with this before?
Custom UIBarButtonItem in IQPickerView.m
//UIToolbar
{
_actionToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, -4, 320, 44)];
// _actionToolbar.barStyle = UIBarStyleDefault;//UIBarStyleBlackTranslucent;
[_actionToolbar sizeToFit];
CGRect toolbarFrame = _actionToolbar.frame;
toolbarFrame.size.height = 44;
_actionToolbar.frame = toolbarFrame;
NSMutableArray *items = [[NSMutableArray alloc] init];
// Create a cancel button to show on keyboard to resign it. Adding a selector to resign it.
UIButton *cancelView = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
[cancelView setTitle:NSLocalizedString( @"キャンセル" , nil) forState:UIControlStateNormal];
cancelView.titleLabel.font= [UIFont boldSystemFontOfSize: 12];
[cancelView setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[cancelView addTarget:self action:@selector(pickerCancelClicked:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* cancelButton = [[UIBarButtonItem alloc] initWithCustomView:cancelView];
// UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"キャンセル", nil)
// style:UIBarButtonItemStylePlain target:self action:@selector(pickerCancelClicked:)];
[items addObject:cancelButton];
_titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, _actionToolbar.frame.size.width-66-57.0-16, 44)];
_titleLabel.font = [UIFont fontWithName:@"HiraginoSans-W6" size:12];
[_titleLabel setBackgroundColor:[UIColor clearColor]];
[_titleLabel setTextAlignment:NSTextAlignmentCenter];
[_titleLabel setText:title];
[_titleLabel setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
UIBarButtonItem *titlebutton = [[UIBarButtonItem alloc] initWithCustomView:_titleLabel];
titlebutton.enabled = NO;
// Create a fake button to maintain flexibleSpace between doneButton and nilButton. (Actually it moves done button to right side.
UIBarButtonItem *nilButton =[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[items addObject:nilButton];
// Create a done button to show on keyboard to resign it. Adding a selector to resign it.
UIButton *okView = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
[okView setTitle:NSLocalizedString(@"OK",nil) forState:UIControlStateNormal];
okView.titleLabel.font= [UIFont boldSystemFontOfSize: 12];
[okView setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[okView addTarget:self action:@selector(pickerDoneClicked:) forControlEvents:UIControlEventTouchUpInside];
// UIBarButtonItem doneButton =[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"OK", @"")
// style:UIBarButtonItemStylePlain target:self action:@selector(pickerDoneClicked:)];
UIBarButtonItem doneButton = [[UIBarButtonItem alloc] initWithCustomView:okView];
[items addObject:doneButton];
// Adding button to toolBar.
[_actionToolbar setItems:items];
[self addSubview:_actionToolbar];
}
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.