我已经定制了我的UISlider但我的拇指图像看起来很奇怪,我的意思是它的位置没有按中心对齐:

但应该是这样的:

这是代码:
UIImage *leftTrack = [[UIImage imageNamed:@"blueTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0];
UIImage *rightTrack = [[UIImage imageNamed:@"whiteTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0];
[slider setThumbImage:[UIImage imageNamed:@"thumbButton.png"] forState:UIControlStateNormal];
[slider setMinimumTrackImage:leftTrack forState:UIControlStateNormal];
[slider setMaximumTrackImage:rightTrack forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
哪里可能是问题?
编辑: 我找到了这个问题的解决方案.拇指图像背景是透明的,我没有看到拇指图像没有按中心对齐:

我正在使用AV播放器在我的应用中播放视频.我正在使用seekToTime:toleranceBefore:toleranceAfter:
使用滑块搜索视频所以问题是当你向前滑动时,视频寻找完美(看起来像视频移动得更快)但是向后滑动的视频看起来不稳定而滑回(基本上不像滑动的florward节目那样平滑).有谁知道问题是什么,或者我做错了什么.
请帮忙.
我正在开发一个应用程序,我有一个自定义UISlider.
但是,我遇到了一些关于如何使默认拇指看起来像iOS控制中心那样小的问题.
请注意,我想要相同的iOS拇指,而不是自定义拇指图像.到目前为止,我已经尝试thumbRect(forBounds...)但没有运气.
有什么建议?
有没有人有一个快速的方法来制作一个看起来像iPod应用程序中的UISlider(想想擦洗器/音量控制).基本上我需要看起来像MPVolumeView的东西,但不能控制声音.如果不这样做,是否有人有资产制作一个(旋钮/轨道).
Javascript的新手,但经过一些研究后,它会像这样实现我想要的输出的最佳方法.我正在尝试制作图像幻灯片(5个预选图像),这些图像会在5秒间隔之间自动更改.任何人都可以在这个过程中指向教程或指导我吗?很感谢任何形式的帮助.
我想为UISlider设置动画,例如0.25到0.75并返回.这应该向用户显示要做什么.
我试过这个:
[self incrementCounter:[NSNumber numberWithInt:0]];
-(void) incrementCounter:(NSNumber *)i {
[Slider setValue:[i floatValue]/1000];
[self performSelector:@selector(incrementCounter:) withObject:[NSNumber numberWithInt:i.intValue+1] afterDelay:0.001];
}
Run Code Online (Sandbox Code Playgroud)
但那不是那么顺利......我可以使用转换吗?
[Slider setValue:1 animated:YES];
Run Code Online (Sandbox Code Playgroud)
是快...
[UIView animateWithDuration:2.0
animations:^{
[Slider setValue:0.2];
}];
[UIView animateWithDuration:2.0
animations:^{
[Slider setValue:0.5];
}];
Run Code Online (Sandbox Code Playgroud)
只是动画第二个......
我已经构建了一个自定义滑块来显示音乐曲目播放的进度并允许在曲目中进行擦洗.
这两种功能都很好,但是一旦拖动停止并重新定位滑块,就会出现轻微延迟(和跳动) - Apple Music应用程序滑块是无缝的.
_scrubberSlider = [[ScrubberSlider alloc] initWithFrame:CGRectMake(0, 0, 300, 30)];
_scrubberSlider.continuous = YES;
_scrubberSlider.maximumValue = 1.0f;
_scrubberSlider.minimumValue = 0.0f;
[_scrubberSlider addTarget:self action:@selector(handleSliderMove:) forControlEvents:UIControlEventValueChanged];
- (void) handleSliderMove:(UISlider*)sender
{
CGFloat currentPlayback = sender.value * [[_theMusicPlayer.nowPlayingItem valueForKey:MPMediaItemPropertyPlaybackDuration] floatValue];
_theMusicPlayer.currentPlaybackTime = currentPlayback;
}
-(void) handleTrackTime
{
if (!trackTimer)
{
NSNumber *playBackTime = [NSNumber numberWithFloat: _musicPlayer.currentPlaybackTime];
trackTimer = [NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(timeIntervalFinished:) userInfo:@{@"playbackTime" : playBackTime} repeats:YES];
}
}
-(void) timeIntervalFinished:(NSTimer*)sender
{
[self playbackTimeUpdated:_musicPlayer.currentPlaybackTime];
}
-(void) playbackTimeUpdated:(CGFloat)playbackTime
{
// Update time label
[self …Run Code Online (Sandbox Code Playgroud) 我正在播放歌曲AVPlayer.我为我的媒体播放器和初始化创建了一个单独的视图控制器,我在播放器中使用的所有方法(播放,暂停,重复,随机播放)都在同一个视图控制器中.
我像这样更新一个滑块:
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(sliderUpdate:) userInfo:nil repeats:YES];`
- (void) sliderUpdate:(id) sender{
int currentTime = (int)((song.player.currentTime.value)/song.player.currentTime.timescale);
slider.value=currentTime;
NSLog(@"%i",currentTime);
song.currentTime=currentTime;
int currentPoint=(int)((song.player.currentTime.value)/song.player.currentTime.timescale);
int pointMins=(int)(currentPoint/60);
int pointSec=(int)(currentPoint%60);
NSString *strMinlabel=[NSString stringWithFormat:@"%02d:%02d",pointMins,pointSec];
lblSlidermin.text=strMinlabel;
song.strslidermin=strMinlabel;
}
Run Code Online (Sandbox Code Playgroud)
一旦我走出viewcontroller并再次来,歌曲正在播放,但问题是滑块没有更新.所以我创建了一个单例类来分配当前播放的歌曲细节.同样在滑块更新中,我playerCurrentTime为单例类变量设置了(slidercurrent值).我的viewdidload方法是这样分配的:
if (song.isPlaying==NO) {
[self prePlaySong];
}else{
lblAlbum.text=song.currentAlbum;
lblArtist.text=song.currentArtist;
lblSong.text=song.currentSong;
slider.value=song.currentTime;
slider.maximumValue=song.sliderMax;
slider.minimumValue=song.sliderMin;
imgSong.image=song.songImage;
[btnMiddle setBackgroundImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
但是滑块没有得到更新.为什么这样以及如何解决这个问题?
我正在构建一个基于图像操作的iOS应用程序.
我想通过滑块值增加和减少图像的亮度.
我使用此代码执行此操作:
@IBOutlet var imageView: UIImageView!
@IBOutlet var uiSlider : UISlider!
override func viewDidLoad()
{
super.viewDidLoad()
var image = UIImage(named: "54715869.jpg")
imageView.image = image
uiSlider.minimumValue = -0.2
uiSlider.maximumValue = 0.2
uiSlider.value = 0.0
uiSlider.maximumTrackTintColor = UIColor(red: 0.1, green: 0.7, blue: 0, alpha: 1)
uiSlider.minimumTrackTintColor = UIColor.blackColor()
uiSlider.addTarget(self, action: "brightnesssliderMove:", forControlEvents: UIControlEvents.TouchUpInside)
uiSlider.addTarget(self, action: "brightnesssliderMove:", forControlEvents: UIControlEvents.TouchUpOutside)
}
func brightnesssliderMove(sender: UISlider)
{
var filter = CIFilter(name: "CIColorControls");
filter.setValue(NSNumber(float: sender.value), forKey: "inputBrightness")
var image = self.imageView.image
var rawimgData = CIImage(image: image) …Run Code Online (Sandbox Code Playgroud) uislider ×10
ios ×4
objective-c ×4
iphone ×3
avfoundation ×2
avplayer ×2
swift ×2
animation ×1
cocoa ×1
cocoa-touch ×1
html ×1
ios6 ×1
javascript ×1
seekbar ×1
slider ×1
slideshow ×1
swift3 ×1
uiimageview ×1
uikit ×1