我按照在线教程绘制了一个子类UIView.教程显示了一个带有白色背景的UIView,我通过简单地改变超级的bg颜色来修复它.问题是,当触摸结束时,背景不会保持清晰.我不知道.我只是尝试将填充颜色设置为[uicolor clearcolor]; 不成功.这是我正在使用的代码:
@implementation CachedLIView
{
UIBezierPath *path;
UIImage *incrementalImage; // (1)
}
- (id)initWithCoder:(NSCoder *)aDecoder
{
if (self = [super initWithCoder:aDecoder])
{
[self setMultipleTouchEnabled:NO];
[self setBackgroundColor:[UIColor whiteColor]];
path = [UIBezierPath bezierPath];
[path setLineWidth:2.0];
}
return self;
}
- (void)drawRect:(CGRect)rect
{
[incrementalImage drawInRect:rect]; // (3)
[path stroke];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint p = [touch locationInView:self];
[path moveToPoint:p];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint p …Run Code Online (Sandbox Code Playgroud) 我正在使用UIView的子类来绘制,这个子类视图用于在视图控制器上获取您的签名.有一个清除按钮,应该清除UIView,除非它不起作用.这是我尝试过的.
subclass.h
@implementation subclassed uiview
{
UIBezierPath *path;
UIImage *incrementalImage; // (1)
}
- (id)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
[self setMultipleTouchEnabled:NO];
[self setBackgroundColor:[UIColor clearColor]];
path = [UIBezierPath bezierPath];
[path setLineWidth:2.0];
}
return self;
}
- (void)drawRect:(CGRect)rect {
[incrementalImage drawInRect:rect]; // (3)
[path stroke];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint p = [touch locationInView:self];
[path moveToPoint:p];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint p …Run Code Online (Sandbox Code Playgroud) 我想在我的下载文件夹中将youtube视频保存为MP3.但是,这最终会将文件保存在与youtube-dl相同的目录中.
youtube-dl --extract-audio --audio-format mp3 --audio-quality=320k
https://www.youtube.com/watch?v=VIDEO_ID
--output C:/Users/Josue/Downloads/%(title)s.%(ext)s
Run Code Online (Sandbox Code Playgroud)
我希望视频保存在:
C:/Users/Josue/Downloads/videotitle.mp3
然而,他们正在节省:
C:/youtube-dl/videotitle-videoID.mp3
我做错了什么吗?我试过阅读Github上的文档,但我仍然有点困惑.
我的标签栏图标显得模糊.
我使用Photoshop创建了图标,并在确定每个图标的大小时遵循iOS人机界面指南.
例如图标大小:30x30px png
这只发生在标签栏上.我想知道是否因为图像的分辨率或编程问题而发生这种情况......
我的应用程序启动后,我正在运行十个AsyncTasks.有时,模拟器需要很长时间才能启动这些任务.发生这种情况时,我在log cat中看到以下消息:
D/dalvikvm(1983):threadid = 8:撤消后仍然暂停(sc = 1 dc = 1 s = Y)
当模拟器快速执行时,不会出现此消息.奇怪的是,这种行为今天没有任何修改就改变了.由于我已经向模拟器明确分配了512mb ram,它不再是非常慢~5min,现在~5s.在真实设备上,我从来没有执行过慢.
我想了解这个日志cat消息的含义.我知道具有指定id的线程在此状态下被挂起并且无法正常工作.但为什么?什么撤消?(sc = 1 dc = 1 s = Y)是什么意思?
我layer通过添加以下代码行为我设置边框:
[self.avatar.layer setBorderColor:[UIColor whiteColor].CGColor];
如何更改边框上的alpha而不是avatar对象?
是否存在与ActionScript相同的JavaScript channel.leftPeak或channel.rightPeak.这用于声音编程,例如VU表.我正在尝试构建一个声音应用程序,但我正在避免使用Flash和ActionScript,因为它是用于网站.我想知道是否可以用JavaScript做到这一点.基本概念就是播放一首歌,并能够通过频谱分析仪或VU表观察它的可视化.
目前,当点击按钮时,会出现UIModalPresentationSheet.当它向上滑动时,我想在它的顶部添加一个导航栏.我尝试过很多东西,但似乎没什么用.这是我正在尝试的,它会返回此错误.
AthleteAdd *addAthlete = [self.storyboard instantiateViewControllerWithIdentifier:@"addAthlete"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addAthlete];
//[self.navigationController pushViewController:addAthlete animated:YES];
addAthlete.delegate = self;
addAthlete.modalPresentationStyle = UIModalPresentationFormSheet;
// UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addAthlete];
[self presentViewController:navigationController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
但它以模态方式推动它,并且没有modalpresentationsheet形式.如何才能使导航控制器的尺寸正确?
在我的应用程序中,我利用UIImagePickerController来录制视频.然后我将视频URL从相机胶卷保存到核心数据中,每当我想播放它时,我都会拉URL并这样做.但是,当从照片应用中删除视频时,它仍会播放几天.当它没有从照片应用程序中删除时,它仍然会在几天后删除.如何将视频保存到我的应用程序文档中,并将其保存到核心数据中?这是我目前使用的(它不起作用):
这是不起作用的zip文件:http://jmp.sh/v/w4gE5SXNiRd0d7tasc3U
这是现在可以正常工作的zip文件:http://jmp.sh/v/tzyJU3nlc1qOPI9ZzDTF
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
// Handle a movie capture
if (CFStringCompare((__bridge_retained CFStringRef)mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
NSString *moviePath = [NSString stringWithFormat:@"%@", [[info objectForKey:UIImagePickerControllerMediaURL] path]];
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
NSData *videoData = [NSData dataWithContentsOfURL:videoURL];
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
_managedObjectContext = [appDelegate managedObjectContext];
Video *video = [NSEntityDescription insertNewObjectForEntityForName:@"Video" inManagedObjectContext:_managedObjectContext];
[video setVideoData:videoData];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我创建了一个自定义视频播放器AVPlayer.这很好用,没有问题.但是,我允许AVPlayer通过双击更改视频重力.
更改为时AVPlayerGravityResizeAspect,视频位于中间.有没有办法让视频保持相同的大小(调整大小方面,不调整方面填充),但将其移动到底部或顶部AVPlayer?
- (IBAction)zoomTapped:(id)sender {
if (self.player.status == AVPlayerStatusReadyToPlay) {
if ([((AVPlayerLayer *)[self.playerView layer]).videoGravity isEqualToString : AVLayerVideoGravityResizeAspect]) {
[self.zoomButton setImage:[UIImage imageNamed:@"zoom-out.png"] forState:UIControlStateNormal];
((AVPlayerLayer *)[self.playerView layer]).videoGravity = AVLayerVideoGravityResizeAspectFill;
}
else {
[self.zoomButton setImage:[UIImage imageNamed:@"zoom-in.png"] forState:UIControlStateNormal];
((AVPlayerLayer *)[self.playerView layer]).videoGravity = AVLayerVideoGravityResizeAspect;
((AVPlayerLayer *)[self.playerView layer]).bounds = ((AVPlayerLayer *)[self.playerView layer]).bounds;
}
}
}
Run Code Online (Sandbox Code Playgroud) ios ×7
objective-c ×6
cocoa-touch ×5
drawrect ×2
uiview ×2
android ×1
animation ×1
audio ×1
avplayer ×1
dalvik ×1
iphone ×1
javascript ×1
tabbar ×1
youtube ×1
youtube-dl ×1