小编the*_*ncs的帖子

当UIView帧更改时,视图内的AVPlayer图层不会调整大小

我有一个UIView包含AVPlayer显示视频的内容.更改方向时,我需要更改视频的大小和位置.

我对调整图层大小没有经验,所以我在调整视频大小时遇到​​了问题.

我首先创建AVPlayer并将其播放器添加到我的videoHolderView的图层:

NSURL *videoURL = [NSURL fileURLWithPath:videoPath];
self.avPlayer = [AVPlayer playerWithURL:videoURL];

AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
playerLayer.frame = videoHolderView.bounds;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;
playerLayer.needsDisplayOnBoundsChange = YES;

[videoHolderView.layer addSublayer:playerLayer];
videoHolderView.layer.needsDisplayOnBoundsChange = YES;
Run Code Online (Sandbox Code Playgroud)

然后,稍后,我将更改videoHolderView框架的大小和位置:

[videoHolderView setFrame:CGRectMake(0, 0, 768, 502)];
Run Code Online (Sandbox Code Playgroud)

此时,我需要avPlayer调整大小到这些相同的维度.这不会自动发生 - avPlayer在videoHolderView中保持小尺寸.

如果有人可以提供帮助,我真的很感激任何建议.

多谢你们.

objective-c calayer uiview avplayer

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

如果我插入或删除行,UITableView部分标题将消失

我有UITableView4个部分.其中三个部分有标题视图.

标题视图是a UITableViewCell,我将其作为viewForHeaderInSection:委托中的正常单元格进行排队.

如果我从任何部分插入或删除一行,其他tableview标题单元格将消失.

我假设这与细胞重用有关,但是细胞最初都出现在屏幕上(所有三个标题同时出现在屏幕上).

我已尝试在插入或删除后重新加载其他部分,但这没有帮助.

这是一些代码:

- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

    switch (section) {

        case kSectionCardInformation:
        case kSectionContactInformation:
        case kSectionTags: {

            static NSString *CellIdentifier = @"EditContactHeaderCell";
            EditContactHeaderCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
            return cell;
        }

        default:
            return nil;
    }
}
Run Code Online (Sandbox Code Playgroud)

这里是我删除重要部分中的行的地方:

- (void)deleteTag:(CDTag *)tag {

    [self.tableView beginUpdates];

    NSMutableArray *objects = [self.sections objectAtIndex:kSectionTags];
    if ([objects containsObject:tag]) {
        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[objects indexOfObject:tag] inSection:kSectionTags];
        [objects removeObject:tag];

        [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationMiddle];

        [self.contact deleteTag:tag];
    }

    [self.tableView …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios

26
推荐指数
5
解决办法
5787
查看次数

在iOS设备上捕获视频并将其直播到服务器(或其他移动设备)

我希望能够使用我的iOS设备录制素材并将其直接流式传输到服务器.

有很多关于SO的文章谈论这个,但我不确定是否有人很好地回答了这个问题.

我应该使用HTTP实时流,或者这只是将数据发送一个iPhone?我是否应该使用AVCaptureSession来抓取视频(一次一段?),将每个段发送到服务器?我应该使用AVCaptureVideoDataOutput和ffmpeg进行流式传输吗?

我有点迷失所有这些,所以任何示例代码或文档或链接都会非常感激.

谢谢你的帮助.

邓肯

video streaming ffmpeg http-live-streaming ios

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

如何在没有用户修改消息的情况下从iOS应用程序发布到Facebook墙

我正在写一款iPhone游戏,并希望将用户的分数发布到他们的Facebook Feed中.

我已经成功地将用户同意授权的示例拼凑在一起,然后出现一个对话框,他们可以确认在他们的墙上发布,或者不发布.这几乎是理想的,除了文本是可编辑的字段 - 因此用户可以修改他们的分数然后发布.理想情况下,我想要完全相同的机制,但没有能力修改消息.

我假设这样做,我需要询问publish_stream权限,然后使用Graph api调用来发布消息.我采购了这个,但收到错误'必须使用活动访问令牌来查询有关当前用户的信息.'.

我很乐意在实际的代码更改中指出正确的方向 - 任何帮助都非常感激.

这是我的第一篇stackOverflow帖子,请温柔.

多谢你们.

-Duncan

原始代码(发布到墙上但带有可修改的文本框)

 //offer to facebook connect your score
 facebook = [[Facebook alloc] initWithAppId:@"210645928948875"];
 [facebook authorize:nil delegate:self];

 NSMutableString *facebookMessage = [NSMutableString stringWithString:@"I scored a whopping "];
 [facebookMessage appendString: [NSMutableString stringWithFormat:@"%d", currentScore]];
 [facebookMessage appendString: [NSMutableString stringWithString:@".  Can you beat me?"]];

 NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
 @"210645928948875", @"app_id",
 @"http://duncan.co.uk/", @"link",
 @"http://d.yimg.com/gg/goran_anicic/dunc.jpeg", @"picture",
 @"dunc", @"name",
 //@"Reference Documentation", @"caption",
 @"Download the app NOW from the App Store", @"description",
 facebookMessage,  @"message",
 nil]; …
Run Code Online (Sandbox Code Playgroud)

iphone facebook objective-c facebook-graph-api ios

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

在应用程序中使用原生iOS指南针

是否可以使用iOS在我自己的应用程序中使用的原生指南针?或者我是否需要绘制自己的指南针并制作动画?

native objective-c ios compass-geolocation

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

淡化UIView允许查看子视图

我有一个UIScrollView包含各种子视图(UIImageViews,UILabels和标准UIViews).其中一些UIImageViews部分被其他人覆盖UIViews.

但是,当我淡出时UIScrollView,部分覆盖的部分UIImageViews会在动画的短暂时刻曝光.

我希望能够在同一动画中同时淡出滚动视图及其所有内容 - 即不显示任何部分覆盖的图像.

如果不可能的话,我总是可以UIView在所有其他控件之上添加一个并从alpha 0到1淡化它以隐藏所有内容,但我确信有一种方法可以对视图及其所有子视图执行完全淡入淡出.

我试过这个:

[UIView beginAnimations:nil context:NULL];
[scrollViewResults setAlpha:0.0f];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

我试过这个:

- (IBAction)questionGroupChanged:(UIButton*)sender {
    [UIView beginAnimations:nil context:NULL];
    [self fadeViewHierarchy:scrollViewResults toAlpha:0.0f];
    [UIView commitAnimations];
}

- (void)fadeViewHierarchy:(UIView*)parentView toAlpha:(float)alpha {
    [parentView setAlpha:alpha];
    for (UIView *subView in parentView.subviews) {
        [self fadeViewHierarchy:subView toAlpha:alpha];
    }
}
Run Code Online (Sandbox Code Playgroud)

但我还是没有破解它.有任何想法吗?

animation alpha objective-c uiview ios

8
推荐指数
2
解决办法
1701
查看次数

尽管滚动,UICollectionView indexPathForItemAtPoint返回相同的项目

使用UICollectionView的indexPathForItemAtPoint的正确语法是什么?

当我滚动它时,我正在使用以下代码来尝试识别位于UICollectionView中心的单元格.

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    //locate the scrollview which is in the centre
    CGPoint centerPoint = CGPointMake(self.collectionView.frame.size.width / 2, self.collectionView.frame.size.height /2);
    NSIndexPath *indexPathOfCentralCell = [self.collectionView indexPathForItemAtPoint:centerPoint];
}
Run Code Online (Sandbox Code Playgroud)

但是,无论我如何滚动,这总是给我相同的indexPath.

我究竟做错了什么?

objective-c ios uicollectionview

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

首次出现时无法在UITableViewCell中更改UILabel的帧(使用Autolayout)

我里面有一个原型单元,里面UITableView有一个UILabel.我想根据标签中文本的大小动态更改标签(和单元格)的大小.

cellForRowAtIndexPath像这样创建原型单元格:

static NSString *CellIdentifier = @"ProgramDetailCell";
ProgramDetailCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.descriptionLabel.text = self.program.subtitle;
return cell;
Run Code Online (Sandbox Code Playgroud)

然后我ProgramDetailCell有以下实现:

@implementation ProgramDetailCell
- (void)layoutSubviews {
    [super layoutSubviews];
    [self.descriptionLabel sizeToFit];
}
@end
Run Code Online (Sandbox Code Playgroud)

第一次显示单元格时,layoutSubviews会调用,但descriptionLabel不会调整大小.但是,如果我向下滚动表并再次备份,则会显示"重复使用"单元格,并正确调整标签大小!

为什么第一次显示单元格时它不起作用 - 我需要做些什么来修复它.

提前致谢!

objective-c uitableview ios layoutsubviews autolayout

7
推荐指数
2
解决办法
5938
查看次数

如何创建#ifdef命令来区分XCode中的两个目标?

希望这是一个简单的问题要回答 - 我想我在这里是一个n00b.

我第一次创建了一个包含两个目标的XCode项目.但我现在想添加一些代码来区分我的两个目标.

#ifdef MyTargetOne
    x = 1;

#ifdef MyTargetTwo
   x = 2;
Run Code Online (Sandbox Code Playgroud)

我有两个目标,但我在哪里声明"MyTarget1"和"MyTarget2"?

多谢你们!

objective-c ios

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

如何从SVN下载谷歌代码到Mac

我想将Google API Objective-C客户端下载到我的Mac(OSX 10.8)上. 此页面说明以下内容:

非成员可以通过HTTP匿名查看只读工作副本.svn checkout http://google-api-objectivec-client.googlecode.com/svn/trunk/ google-api-objectivec-client-read-only

所以我尝试在终端中运行该行,我得到的只是:

-bash:svn:找不到命令

谁能告诉我我做错了什么?SVN应该已经安装了OSX,不是吗?或者我需要先安装它吗?SVN命令是否可以在任何目录中使用?

任何帮助,非常感谢.多谢你们.

svn macos google-api download ios

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