1
0
mirror of https://github.com/bitwarden/mobile.git synced 2024-09-27 03:52:57 +02:00
bitwarden-mobile/src/iOS.Core/Views/StepperTableViewCell.cs
2019-07-01 15:12:54 -04:00

55 lines
1.7 KiB
C#

using Bit.iOS.Core.Controllers;
using Bit.iOS.Core.Utilities;
using System;
using UIKit;
namespace Bit.iOS.Core.Views
{
public class StepperTableViewCell : ExtendedUITableViewCell
{
// Give some space to the right of the detail in between the spacer.
// This is a bit of a hack, but I did not see a way to specify a margin on the
// detaul DetailTextLabel or AccessoryView
private string _detailRightSpace = "\t";
private int _value;
public StepperTableViewCell(string labelName, int value, int min, int max, int increment)
: base(UITableViewCellStyle.Value1, nameof(SwitchTableViewCell))
{
TextLabel.Text = labelName;
TextLabel.TextColor = ThemeHelpers.TextColor;
DetailTextLabel.TextColor = ThemeHelpers.MutedColor;
Stepper = new UIStepper
{
TintColor = ThemeHelpers.MutedColor,
MinimumValue = min,
MaximumValue = max
};
Stepper.ValueChanged += Stepper_ValueChanged;
Value = value;
AccessoryView = Stepper;
}
private void Stepper_ValueChanged(object sender, EventArgs e)
{
Value = Convert.ToInt32(Stepper.Value);
ValueChanged?.Invoke(this, null);
}
public UIStepper Stepper { get; private set; }
public int Value
{
get { return _value; }
set
{
_value = value;
Stepper.Value = value;
DetailTextLabel.Text = string.Concat(value.ToString(), _detailRightSpace);
}
}
public event EventHandler ValueChanged;
}
}