diff --git a/src/iOS.Core/Views/SliderTableViewCell.cs b/src/iOS.Core/Views/SliderTableViewCell.cs
new file mode 100644
index 000000000..0c57671e4
--- /dev/null
+++ b/src/iOS.Core/Views/SliderTableViewCell.cs
@@ -0,0 +1,38 @@
+using System;
+using UIKit;
+
+namespace Bit.iOS.Core.Views
+{
+ public class SliderTableViewCell : UITableViewCell
+ {
+ private string _detailRightSpace = "\t";
+
+ public SliderTableViewCell(string labelName, float value, float min, float max)
+ : base(UITableViewCellStyle.Value1, nameof(SwitchTableViewCell))
+ {
+ TextLabel.Text = labelName;
+ DetailTextLabel.Text = string.Concat(value.ToString(), _detailRightSpace);
+ DetailTextLabel.TextColor = new UIColor(red: 0.47f, green: 0.47f, blue: 0.47f, alpha: 1.0f);
+
+ Slider = new UISlider
+ {
+ MinValue = min,
+ MaxValue = max,
+ Value = value,
+ TintColor = new UIColor(red: 0.24f, green: 0.55f, blue: 0.74f, alpha: 1.0f),
+ Frame = new CoreGraphics.CGRect(0, 0, 180, 20)
+ };
+ Slider.ValueChanged += Slider_ValueChanged;
+
+ AccessoryView = Slider;
+ }
+
+ private void Slider_ValueChanged(object sender, EventArgs e)
+ {
+ Slider.Value = Convert.ToInt32(Math.Round(Slider.Value, 0));
+ DetailTextLabel.Text = string.Concat(Slider.Value.ToString(), _detailRightSpace);
+ }
+
+ public UISlider Slider { get; set; }
+ }
+}
diff --git a/src/iOS.Core/iOS.Core.csproj b/src/iOS.Core/iOS.Core.csproj
index 72016c1ba..45cf129b1 100644
--- a/src/iOS.Core/iOS.Core.csproj
+++ b/src/iOS.Core/iOS.Core.csproj
@@ -71,6 +71,7 @@
+
diff --git a/src/iOS.Extension/PasswordGeneratorViewController.cs b/src/iOS.Extension/PasswordGeneratorViewController.cs
index 221efcd88..c1f21f121 100644
--- a/src/iOS.Extension/PasswordGeneratorViewController.cs
+++ b/src/iOS.Extension/PasswordGeneratorViewController.cs
@@ -35,6 +35,7 @@ namespace Bit.iOS.Extension
public SwitchTableViewCell SpecialCell { get; set; } = new SwitchTableViewCell("!@#$%^&*");
public StepperTableViewCell MinNumbersCell { get; set; } = new StepperTableViewCell("Minimum Numbers", 1, 0, 5, 1);
public StepperTableViewCell MinSpecialCell { get; set; } = new StepperTableViewCell("Minimum Special", 1, 0, 5, 1);
+ public SliderTableViewCell LengthCell { get; set; } = new SliderTableViewCell("Length", 10, 5, 64);
public override void ViewWillAppear(bool animated)
{
@@ -113,7 +114,7 @@ namespace Bit.iOS.Extension
if(indexPath.Row == 0)
{
- // TODO: Length slider
+ return _controller.LengthCell;
}
else if(indexPath.Row == 1)
{