小编Sye*_*man的帖子

UIView的setNeedsLayout,layoutIfNeeded和layoutSubviews之间有什么关系?

谁能给上之间的关系明确的解释UIView's setNeedsLayout,layoutIfNeededlayoutSubviews方法呢?以及将使用所有三个的示例实现.谢谢.

让我感到困惑的是,如果我向自定义视图发送一条setNeedsLayout消息,它会在此方法之后调用它layoutSubviews,然后跳过它layoutIfNeeded.从文档我预计流量为setNeedsLayout>导致layoutIfNeeded被称为>使layoutSubviews被调用.

iphone xcode uiview

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

iOS 10 - 请求相机,麦克风和照片库权限导致应用程序崩溃的更改

info.plist现在需要用户权限才能访问媒体库,照片,相机和其他硬件.解决方案是将他们的密钥添加到iOS 10用户的描述中,以便我们如何使用他们的数据,

我只能找到几把钥匙

NSPhotoLibraryUsageDescription
NSMicrophoneUsageDescription
NSCameraUsageDescription
Run Code Online (Sandbox Code Playgroud)

我想知道是否还有更多的密钥用于其他硬件,info.plist 如果你没有提供info.plist正确的密钥描述,如果使用XCode-8 beta进行构建,你的应用程序将崩溃.

plist user-permissions ios ios10

97
推荐指数
3
解决办法
12万
查看次数

如何使用AWS iOS SDK v2将UIImage上传到S3

Github中的README页面(https://github.com/aws/aws-sdk-ios-v2)已经有一个从文件路径URL上传图像的示例:

AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new];
uploadRequest.bucket = yourBucket;
uploadRequest.key = yourKey;
uploadRequest.body = yourDataURL; // <<<< this is a NSURL
uploadRequest.contentLength = [NSNumber numberWithUnsignedLongLong:fileSize];
Run Code Online (Sandbox Code Playgroud)

但是,如果我只有UIImage内存(没有文件路径)怎么办?是否可以上传UIImage(或它NSData)S3使用SDK

手动使用HTTP API(使用AFNetworking之类的东西)会更容易吗?

objective-c amazon-s3 uiimage amazon-web-services ios

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

为什么iOS模拟器需要i386和x86_64符号,即使我只在x86_64系统上?

我正试图让一个在模拟器上运行的应用程序之前遇到了一些问题.我们没有为其构建libjpeg.a i386,但确实有x86_64.这是唯一的依赖,但我想知道为什么我真的需要i386符号,如果我在x86_64mac 上运行.

x86-64 i386 ios-simulator

20
推荐指数
4
解决办法
2万
查看次数

iOS - UISlider在第一次触摸时跳转

我已经添加了UISlider一个iOS应用程序,我正在使用Xcode 5.1开发,我无法摆脱以下恼人的行为.当我第一次触摸拇指时,它会跳跃少量.

这是一个详细说明行为的快速示例.

当滑块拇指最初位于中心的左侧(例如,处于最小值)时,它会向右跳跃.如果我在iOS模拟器中运行应用程序,拇指会在第一次触摸时跳转而不会拖动任何内容.拇指总是跳向赛道的中心.它不跳的唯一时间是它在轨道的精确中心.即使滑块未连接任何内容,也会出现此行为.

有什么方法可以禁用它吗?

uislider ios

18
推荐指数
1
解决办法
1952
查看次数

iOS - 如何获得AVPlayer的可播放持续时间

MPMoviePlayerController有一个名为playableDuration的属性.

playableDuration当前可播放内容的数量(只读).

@property(nonatomic,readonly)NSTimeInterval playableDuration

对于逐步下载的网络内容,此属性反映了现在可以播放的内容量.

AVPlayer有类似的东西吗?我在Apple Docs或Google中找不到任何内容(甚至不在Stackoverflow.com)

提前致谢.

xcode mpmovieplayer ios avplayer

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

iOS-如何使用AVAsset或AVURLAsset获取.mp4文件的持续时间

我知道之前已经回答了视频类型问题的持续时间,但我在.mp4使用AVAsset和获取文件的持续时间方面遇到了麻烦AVURLAsset.我正在使用以下代码

NSString *itemPathString = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0] stringByAppendingPathComponent:obmodel.actualname];
NSURL *itemPathURL = [NSURL URLWithString:itemPathString];

if([[NSFileManager defaultManager] fileExistsAtPath:itemPathString]){

    NSLog(@"File Exists");
}

AVAsset *videoAsset = (AVAsset *)[AVAsset assetWithURL:itemPathURL];
AVAssetTrack *videoAssetTrack = [[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];

NSLog(@"duration: %.2f", CMTimeGetSeconds(videoAssetTrack.timeRange.duration));
if(CMTimeGetSeconds(videoAsset.duration) >= 59.0){
}
Run Code Online (Sandbox Code Playgroud)

但每次它返回0 我也导入以下headers

#import <AVFoundation/AVAsset.h>
#import <CoreMedia/CoreMedia.h>
#import <AVFoundation/AVFoundation.h>
Run Code Online (Sandbox Code Playgroud)

我也尝试了一些我知道的其他代码但是没有人能为我工作.如果我播放它iExplorer,我的视频工作正常,我的路径很好,但不知道我错过了什么.我想分享一下,我发现我AVAssets的装载不正确请告诉我应该做些什么.

mp4 duration avfoundation ios avasset

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

memcpy()导致iOS中的EXC_BAD_ACCESS

我正在接受NSData我的套接字接收功能,我正在尝试将该数据复制到tempbuffer我的音频类中,我正在使用外部类型全局变量来执行此操作.

这是我的代码:

memcpy([recorder tempBuffer].mdata,(__bridger const void *)data,data.length);
Run Code Online (Sandbox Code Playgroud)

这里记录器是我extern的音频类的全局变量.

当控制到达这行代码时抛出异常,可能是错误.

objective-c memcpy nsdata ios

3
推荐指数
1
解决办法
2230
查看次数

iOS - 将特定的UIViewController锁定到特定方向

我的应用程序支持所有4方向,我有一个UIViewController这是LandscapeRight.我正在使用UINavigationController推动它UIViewController,我希望它UIViewController只是在UIInterfaceOrientationLandscapeRight,但当我旋转手机时,它切换回其他方向.

-(BOOL)shouldAutorotate{
    return NO;
}

-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationLandscapeRight;
}

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
    return UIInterfaceOrientationLandscapeRight;
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uiviewcontroller uiinterfaceorientation ios

3
推荐指数
1
解决办法
8496
查看次数

iOS-8及更高版本 - UIAlertController中的UITableView

我知道如何通过使用喜欢添加任何Custom UI内部UIAlertView,但我现在好奇,如果我们仍然有选择添加内部,我想要有一个内部清楚的理解.accessoryViewUITableViewCustom UIUIAlertControllerUITableViewControllerUIAlertController

objective-c uitableview ios uialertcontroller

3
推荐指数
3
解决办法
9629
查看次数