小编Jos*_*osa的帖子

在UIView的黑色背景?

我按照在线教程绘制了一个子类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)

cocoa-touch objective-c uiview drawrect ios

8
推荐指数
1
解决办法
5839
查看次数

清楚UIView的绘图?

我正在使用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)

cocoa-touch objective-c uiview drawrect ios

8
推荐指数
1
解决办法
1万
查看次数

youtube-dl下载位置

我想在我的下载文件夹中将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上的文档,但我仍然有点困惑.

youtube youtube-dl

7
推荐指数
1
解决办法
1万
查看次数

iOS标签栏图标模糊

我的标签栏图标显得模糊.

在此输入图像描述

我使用Photoshop创建了图标,并在确定每个图标的大小时遵循iOS人机界面指南.

例如图标大小:30x30px png

这只发生在标签栏上.我想知道是否因为图像的分辨率或编程问题而发生这种情况......

tabbar ios

7
推荐指数
1
解决办法
3208
查看次数

解释Logcat条目:threadid = 8:撤消后仍然挂起(sc = 1 dc = 1 s = Y)

我的应用程序启动后,我正在运行十个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)是什么意思?

android dalvik android-logcat

6
推荐指数
1
解决办法
5102
查看次数

设置图层边框的alpha?

layer通过添加以下代码行为我设置边框:

[self.avatar.layer setBorderColor:[UIColor whiteColor].CGColor];

如何更改边框上的alpha而不是avatar对象?

objective-c ios

6
推荐指数
2
解决办法
8061
查看次数

JavaScript音频频谱分析仪

是否存在与ActionScript相同的JavaScript channel.leftPeakchannel.rightPeak.这用于声音编程,例如VU表.我正在尝试构建一个声音应用程序,但我正在避免使用Flash和ActionScript,因为它是用于网站.我想知道是否可以用JavaScript做到这一点.基本概念就是播放一首歌,并能够通过频谱分析仪或VU表观察它的可视化.

javascript audio animation

5
推荐指数
1
解决办法
1万
查看次数

模态视图中的导航控制器

目前,当点击按钮时,会出现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形式.如何才能使导航控制器的尺寸正确?

cocoa-touch objective-c ios

5
推荐指数
1
解决办法
1万
查看次数

将视频URL保存到Core Data

在我的应用程序中,我利用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)

cocoa-touch objective-c uiimagepickercontroller ios

5
推荐指数
2
解决办法
2481
查看次数

AVPlayer视频重力定位?

在我的应用程序中,我创建了一个自定义视频播放器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)

iphone cocoa-touch objective-c ios avplayer

5
推荐指数
1
解决办法
7340
查看次数