Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use with UITableViewCells #4

Closed
martinpfannemueller opened this issue May 26, 2014 · 11 comments
Closed

Use with UITableViewCells #4

martinpfannemueller opened this issue May 26, 2014 · 11 comments

Comments

@martinpfannemueller
Copy link

Hey there,
I tried to run this together with a UITableViewCell (didSelectRowAtIndexPath). This is not possible since I get an NSInternalInconsistencyException with the reason "Invalid origin provided to ActionSheetPicker". Is there a way to run this project with a UITableViewCell?

@skywinder
Copy link
Owner

Can you provide some code examples or more detail stack trace of this exception?

@martinpfannemueller
Copy link
Author

I could resolve the issue: This problem only happens if you try to cast the origin/UITableviewCell to UIControl like in the IBAction methods of your example project.

@skywinder
Copy link
Owner

Ok.
So is it issue of project or just incorrectly usage of class casting?

@martinpfannemueller
Copy link
Author

I copied the IBAction from the example project. There you cast the sender to UIControl. This was the problem for me when I called this method in didSelectRowAtIndexPath with the current selected UITableViewCell.

@85636682
Copy link

@martinpfannemueller How can you resolve the issue?Have a example?

@skywinder skywinder reopened this Jul 24, 2014
@martinpfannemueller
Copy link
Author

Now I use it like this in didSelectRowAtIndexPath:

_actionSheetPicker = [[ActionSheetStringPicker alloc] initWithTitle:@"Title" rows:_array initialSelection:nil  target:self successAction:@selector(elementWasSelected:element:) cancelAction:nil origin:[self.tableView cellForRowAtIndexPath:indexPath]];
[_actionSheetPicker showActionSheetPicker];

The code of elementWasSelected looks like this:

- (void)elementWasSelected:(NSNumber *)selectedIndex element:(id)element{...}

skywinder added a commit that referenced this issue Jul 24, 2014
@skywinder
Copy link
Owner

I don't know, whats the problem. Probably you send nil to origin?
I implement example (how to work with tableView) in this repo.
Just pull last commit and look.
Everything works fine.
Let me know, if you still have questions.

screen shot 2014-07-24 at 11 53 47

@VrasidasP
Copy link

Hello,
this problem has returned in the latest version.
Presenting an ActionSheetPicker from -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath with the cell (or its label) as the origin does not work as it should.

@skywinder
Copy link
Owner

@VrasidasP can you provide example, how to reproduce it?
In Project's example I create special table view to check this case. And it works.

Here is an example, how I call Picker:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    UILabel * sender = cell.detailTextLabel;
    ActionSheetDatePicker *datePicker = [[ActionSheetDatePicker alloc] initWithTitle:@"Select a time" datePickerMode:UIDatePickerModeTime selectedDate:[NSDate date] target:self action:@selector(timeWasSelected:element:) origin:sender];
    datePicker.minuteInterval = 5;
    [datePicker showActionSheetPicker];
}

@VrasidasP
Copy link

Indeed you are correct, it is working fine.
I have a slightly more complex view hierarchy (my tableview is inside a UICollectionViewCell) and my setup was not 100% correct. Testing with the example project got me to the correct path.
I finally got it right and re-tested, everything works ok in the latest version.

Sorry for the inconvenience and thank you for the excellent library! :)

@skywinder
Copy link
Owner

@VrasidasP you're welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants