使用自动布局约束时,Syncfusion SfRangeSlider 滑块和标签未正确对齐
Syncfusion SfRangeSlider slider and label don't align properly when using autolayout constrains
环境:Xamarin.iOS(不是 Xamarin.Forms),C#,Xamarin.iOS 版本 17.3.0.14
的 Syncfusion 组件
我正在尝试使用 Syncfusion SfRangeSlider
允许用户 select 一个 0-10 范围内的值。
我在 ViewController
的 ViewDidLoad
事件中添加了 SfRangeSlider
实例,并添加了自动布局约束,将滑块的前导边缘和训练边缘固定到容器并为其赋予固定高度。
在初始加载屏幕时,滑块和滑块上显示槽口和步长值的标签未正确对齐(请参见下面的屏幕截图),滑块是明显比标签短。稍微拖动滑块后,滑块会重新调整以匹配标签的宽度。
有没有办法让滑块和标签的宽度相互匹配,或者这是组件中的错误?
如何将滑块添加到屏幕的示例
public class SampleViewController : UIViewController
{
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
// create slider and add to View
var contentSlider = new SfRangeSlider
{
TickPlacement = SFTickPlacement.SFTickPlacementBottomRight,
ValuePlacement = SFValuePlacement.SFValuePlacementBottomRight,
SnapsTo = SFSnapsTo.SFSnapsToTicks,
Maximum = 10,
RangeEnd = 10,
RangeStart = 0,
StepFrequency = 1,
TickFrequency = 1,
TickColor = UIColor.White,
ShowRange = false,
TranslatesAutoresizingMaskIntoConstraints = false
};
View.AddSubview(contentSlider);
// set up constraints for views
View.AddConstraints(new NSLayoutConstraint[]{
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Top, NSLayoutRelation.Equal, View, NSLayoutAttribute.Top, 1.0f, 0.0f),
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, View, NSLayoutAttribute.Leading, 1.0f, 20.0f),
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Trailing, NSLayoutRelation.Equal, View, NSLayoutAttribute.Trailing, 1.0f, -20.0f),
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Height, NSLayoutRelation.Equal, 1f, 50f)
});
}
}
注意:此 SampleViewController
显示在 UINavigationViewController
中
初始屏幕加载屏幕截图
第一个滑块拖了一下
来自 Syncfusion 的问候。我们检查了报告的问题“加载时 SfRangeSlider 的标签未正确对齐,它仅在更改值时刷新其布局”并且能够重现相同的问题。我们已经记录了与此相关的缺陷报告,可以通过下面的反馈门户进行跟踪。
反馈link:https://www.syncfusion.com/feedback/10189/rangeslider-displays-the-last-additional-label-values
此修复程序将包含在我们预计于 2019 年 11 月 26 日推出的每周版本中。
环境:Xamarin.iOS(不是 Xamarin.Forms),C#,Xamarin.iOS 版本 17.3.0.14
的 Syncfusion 组件我正在尝试使用 Syncfusion SfRangeSlider
允许用户 select 一个 0-10 范围内的值。
我在 ViewController
的 ViewDidLoad
事件中添加了 SfRangeSlider
实例,并添加了自动布局约束,将滑块的前导边缘和训练边缘固定到容器并为其赋予固定高度。
在初始加载屏幕时,滑块和滑块上显示槽口和步长值的标签未正确对齐(请参见下面的屏幕截图),滑块是明显比标签短。稍微拖动滑块后,滑块会重新调整以匹配标签的宽度。
有没有办法让滑块和标签的宽度相互匹配,或者这是组件中的错误?
如何将滑块添加到屏幕的示例
public class SampleViewController : UIViewController
{
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
// create slider and add to View
var contentSlider = new SfRangeSlider
{
TickPlacement = SFTickPlacement.SFTickPlacementBottomRight,
ValuePlacement = SFValuePlacement.SFValuePlacementBottomRight,
SnapsTo = SFSnapsTo.SFSnapsToTicks,
Maximum = 10,
RangeEnd = 10,
RangeStart = 0,
StepFrequency = 1,
TickFrequency = 1,
TickColor = UIColor.White,
ShowRange = false,
TranslatesAutoresizingMaskIntoConstraints = false
};
View.AddSubview(contentSlider);
// set up constraints for views
View.AddConstraints(new NSLayoutConstraint[]{
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Top, NSLayoutRelation.Equal, View, NSLayoutAttribute.Top, 1.0f, 0.0f),
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, View, NSLayoutAttribute.Leading, 1.0f, 20.0f),
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Trailing, NSLayoutRelation.Equal, View, NSLayoutAttribute.Trailing, 1.0f, -20.0f),
NSLayoutConstraint.Create(contentSlider, NSLayoutAttribute.Height, NSLayoutRelation.Equal, 1f, 50f)
});
}
}
注意:此 SampleViewController
显示在 UINavigationViewController
中
初始屏幕加载屏幕截图
第一个滑块拖了一下
来自 Syncfusion 的问候。我们检查了报告的问题“加载时 SfRangeSlider 的标签未正确对齐,它仅在更改值时刷新其布局”并且能够重现相同的问题。我们已经记录了与此相关的缺陷报告,可以通过下面的反馈门户进行跟踪。
反馈link:https://www.syncfusion.com/feedback/10189/rangeslider-displays-the-last-additional-label-values
此修复程序将包含在我们预计于 2019 年 11 月 26 日推出的每周版本中。