Its a view with tableView
# For latest release in cocoapods
pod 'SSDropDown'
git "https://github.com/shebinkoshy/DropDown.git" "carthage"
To use SwiftPM, you should use Xcode 11 to open your project. Click File -> Swift Packages -> Add Package Dependency, enter SSDropdown repo's URL
After select the package, you can choose the dependency type as branch with swiftpackage
. Then Xcode will setup all the stuff for you.
for simple use
Objective C:
SSDropDown *dropDown = [[SSDropDown alloc]init];
dropDown.tag = 901;
dropDown.delegate = self;
dropDown.dropDownPosition = kSSDropDownPositionRight;
dropDown.needToShowArrow = YES;
dropDown.cornerRadius = 5.0;
dropDown.dropDownHeight = 120;
dropDown.dropDownWidth = 100;
dropDown.arrayItemsToList = @[@"1",@"2",@"3"];
[dropDown.tableViewDropDownList setShowsVerticalScrollIndicator:NO];
[dropDown showDropDownForView:yourView withSelectedObject:@"1"];
#pragma mark - SSDropDownDelegate
-(void)dropDown:(nonnull SSDropDown*)dropDownViewObj selectedAnObject:(nullable id)selectedDropDownItem dropDownForTheView:(nonnull UIView*)viewForDropDown;
{
NSLog(@"tag = %d selected obj %@",(int)dropDownViewObj.tag,selectedDropDownItem);
}
Swift:
let dropDown = SSDropDown()
dropDown.tag = 901
dropDown.delegate = self
dropDown.dropDownPosition = kSSDropDownPositionRight
dropDown.needToShowArrow = true
dropDown.cornerRadius = 5
dropDown.dropDownHeight = 120
dropDown.dropDownWidth = 100
dropDown.arrayItemsToList = ["1","2","3"]
dropDown.tableViewDropDownList.showsVerticalScrollIndicator = false
dropDown.show(for: yourView, withSelectedObject: "1")
// MARK: - SSDropDownDelegate
func dropDown(_ dropDownViewObj: SSDropDown, selectedAnObject selectedDropDownItem: Any?, dropDownForTheView viewForDropDown: UIView) {
print("tag = \(dropDownViewObj.tag) selected obj \(selectedDropDownItem!)")
}
With custom cell Include below code
dropDown.needCustomCell = YES;
dropDown.dropDownBackgroundColor = [UIColor blueColor];
-(void)dropDown:(nonnull SSDropDown*)dropDownViewObj registerCustomCellForTheDropDownTableView:(nonnull UITableView*)dropDownTableView
{
[dropDownTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"dropDownCell"];
}
-(nonnull UITableViewCell *)dropDown:(nonnull SSDropDown*)dropDownViewObj dropDownTableView:(nonnull UITableView *)dropDownTableView cellForRowAtIndexPath:(nonnull NSIndexPath *)dropDownIndexPath andSelectedItem:(nullable id)selectedObject;
{
UITableViewCell *cell = [dropDownTableView dequeueReusableCellWithIdentifier:@"dropDownCell"];
NSString *title = [dropDownViewObj.arrayItemsToList objectAtIndex:dropDownIndexPath.row];
cell.textLabel.text = title;
if ([selectedObject isEqual:title])
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
cell.contentView.backgroundColor = [UIColor greenColor];
cell.backgroundColor = [UIColor greenColor];
return cell;
}
Advantages
can able to use with any subclass of UIView like UITextField, UIButton.
also with any UI element inside a UITableViewCell or UICollectionViewCell NOTE: For this you should use
-(void)showDropDownForView:(nonnull UIView*)viewForDropDown insideTheCell:(nonnull id)cell withSelectedObject:(nullable id)selectedObject;