Apple的iPod(音乐)应用程序有一个滑块(UISlider,我推测),具有可变的擦洗速度:垂直拖动滑块越远,滑块值变化反映的水平拖动速度的比例越小.有没有人想出如何复制这种行为?
我正在创建一个自定义的UISlider并且想知道,如何增加拇指图像的"点击区域"?下面的代码效果很好,除了拇指的"点击区域"保持不变.如果我没错,我相信标准拇指面积是19像素?让我们说我想用下面的代码将它增加到35px,我需要采取哪些步骤?请记住,我根本不是这个领域的专家.
编辑 以下代码已更正并准备好复制意大利面!希望它能帮到你!
main.h
#import "MyUISlider.h"
@interface main : MLUIViewController <UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate, UIActionSheetDelegate, UIAlertViewDelegate, MFMailComposeViewControllerDelegate, UIGestureRecognizerDelegate, MLSearchTaskDelegate, MLDeactivateDelegate, MLReceiptDelegate>
{
..........
}
- (void)create_Custom_UISlider;
Run Code Online (Sandbox Code Playgroud)
的main.m
- (void)viewDidLoad
{
[self create_Custom_UISlider];
[self.view addSubview: customSlider];
}
- (void)create_Custom_UISlider
{
CGRect frame = CGRectMake(20.0, 320.0, 280, 0.0);
customSlider = [[MyUISlider alloc] initWithFrame:frame];
[customSlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// in case the parent view draws with a custom color or gradient, use a transparent color
customSlider.backgroundColor = [UIColor clearColor];
UIImage *stetchLeftTrack = [[UIImage imageNamed:@"blue_slider08.png"] …Run Code Online (Sandbox Code Playgroud) 我设法增加我的拇指大小UISlider与Swift但触摸区域仍然太小,我的应用程序.
如何以编程方式增加触摸区域的大小UISlider?
我应该自己重新实现自定义滑块吗?
谢谢!
我正试图在UISlider中将一个额外的UIView放在拇指上方.为此,我需要拇指图像的宽度.在iOS6中,这很好用.我可以用:
CGFloat thumbWidth = self.navSlider.currentThumbImage.size.width;
Run Code Online (Sandbox Code Playgroud)
(如下所示:如何获得UISlider拇指图像的中心)
这在iOS7中返回0.0f.我也试过用它来阅读:
UIImage *thumb = [self.navSlider thumbImageForState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
但拇指结束为零.
是否可以读取默认滑块拇指图像的大小?或者我必须找到它,设置一个常量,以及Apple如何在以后不改变它?
我使用UITableView显示多个自定义单元格,而且我有一个带有UiSlider的问题,问题是要移动滑块我需要长按触摸才能移动它,否则它不会移动.我尝试在UITableView中使用多个滑块做一个简单的项目,它运行得很好.所以我想我需要在触摸时配置一些东西,但我不知道是什么.这是我的代码:
我在我的视图中有这个代码加载手势:
override func viewDidLoad() {
super.viewDidLoad()
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(FormViewController.dismissKeyboard))
view.addGestureRecognizer(tap)
// without this line bellow you can't select any cell to display multiple or single choice questions
tap.cancelsTouchesInView = false
if self.navigationController!.respondsToSelector(Selector("interactivePopGestureRecognizer")) {
self.navigationController!.view.removeGestureRecognizer(navigationController!.interactivePopGestureRecognizer!)
}
notificationCenter.addObserver(self, selector: #selector(adjustForKeyboard), name: UIKeyboardWillHideNotification, object: nil)
notificationCenter.addObserver(self, selector: #selector(adjustForKeyboard), name: UIKeyboardWillChangeFrameNotification, object: nil)
}
func dismissKeyboard() {
view.endEditing(true)
}
Run Code Online (Sandbox Code Playgroud)
对于UITableView cellForRowAtIndexPath方法:
let cell = tableView.dequeueReusableCellWithIdentifier(CurrentFormTableView.CellIdentifiers.SliderCell, forIndexPath: indexPath) as! SliderCell
cell.delegate = self
cell.slider.tag = indexPath.row
cell.display(block)
cell.selectionStyle …Run Code Online (Sandbox Code Playgroud) 我需要增加滑块的尺寸在iOS app使用创建的Xamarin Forms。我尝试使用以下重写的自定义渲染器LayoutSubviews。它增加了尺寸,但是拇指的尺寸却无法接受。如何减小拇指的大小,同时保持滑块的高度增加?
在Android中可能如下所示: 在不影响Android App中拇指的情况下增加滑块的高度
iOS参考:
C#自定义渲染器
[assembly: ExportRenderer(typeof(MySlider), typeof(MySliderRenderer))]
namespace CustomRenderer.iOS
{
class MySliderRenderer : Xamarin.Forms.Platform.iOS.SliderRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
{
base.OnElementChanged(e);
Control.MinimumTrackTintColor = UIColor.FromRGB(0xE6, 0x00, 0x06);
Control.ThumbTintColor = UIColor.Red;
Control.MinimumTrackTintColor = UIColor.Orange;
Control.MaximumTrackTintColor = UIColor.Yellow;
//Control.SetThumbImage(UIImage.FromFile("myicon.png"), UIControlState.Normal);
}
public override void LayoutSubviews()
{
base.LayoutSubviews();
CGAffineTransform transform = CGAffineTransform.MakeScale(1f, 12.0f);
transform.TransformSize(this.Frame.Size);
this.Control.Transform = transform;
}
}
}
Run Code Online (Sandbox Code Playgroud)
更新-参考-渲染器