我目前正在使用Xcode 6(Beta 6)测试我的应用程序.UIActivityViewController可与iPhone设备和模拟器配合使用,但与iPad模拟器和设备(iOS 8)崩溃并带有以下日志
Terminating app due to uncaught exception 'NSGenericException',
reason: 'UIPopoverPresentationController
(<_UIAlertControllerActionSheetRegularPresentationController: 0x7fc7a874bd90>)
should have a non-nil sourceView or barButtonItem set before the presentation occurs.
Run Code Online (Sandbox Code Playgroud)
我正在为iOS 7和iOS 8使用以下iPhone和iPad代码
NSData *myData = [NSData dataWithContentsOfFile:_filename];
NSArray *activityItems = [NSArray arrayWithObjects:myData, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:nil applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard];
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
我也得到了一个类似的崩溃我的其他应用程序.你能指导我吗?iOS 8中的UIActivityViewController有什么变化吗?我查了但是我没有找到任何关于此的内容
我正在使用自动布局和约束,并发现Constrain to margins
XCode 6中有一个选项,它在XCode 5中不存在,默认情况下会被选中.
我创建了一个测试项目,然后UITableView
在ViewController上添加了一个框架,其框架设置为与视图相同的大小并添加了约束
XCode 6 你可以看到这里,即使tableview具有与视图相同的帧,XCode建议添加-16作为约束,而XCode 5会建议添加间距0.
现在,当您取消选中"Constrain to margin"选项时,它的行为与XCode 5相同,并建议将0添加为约束
另外,我发现一旦我用Constrain添加约束来检查边距,我就不能再在XCode 5中打开storyboard文件了,所以它绝对是XCode 6中的新东西.
希望我能够正确地解释我的问题.我想了解"限制边际"实际上是什么以及何时应该而且不应该使用它.如果它非常简单明了,我会道歉.
编辑
我已经看过上几篇文章讨论像一个在这里和这里有关新的iPhone将使用@ 3倍的图像显示的图像分辨率.这是真的吗?
那么这是否意味着我们必须保留三张图片?比方说我有50 X 50的图像,我是否需要保留3张图像以优化新iPhone的外观?
或者新款手机只使用@ 2x图像而且没有像@ 3x那样的东西?
我已经通过制作示例项目进行测试,并且所有模拟器似乎都使用@ 3x图像,这很令人困惑.
编辑
这是一些更多的信息
编辑
基于Tsob和nitin给出的答案,我在项目中添加了@ 3x图像.
信息编辑
我看到很少有用户对iPhone 6使用@ 2x图像的原因感到困惑,即使它具有更高的分辨率,原因是
iPhone 6可能具有不同的分辨率,但具有相同的每像素密度(PPI)
在这个帖子中查看更多相关信息
因此,iPhone 6使用与iPhone 4,5和5S相同的@ 2x图像,因为它具有相同的PPI,而iPhone 6 plus使用@ 3x.
我下载了Xcode beta并打开了我现有的项目,看看它是如何与Xcode 8 beta一起工作的(我从Xcode 8打开了Storyboard文件).
现在当我从Xcode 7.3打开我的项目时,我无法打开storyboard文件,它给了我以下错误
此版本不支持以Xcode 8格式保存的文档.使用Xcode 8.0或更高版本打开此文档.
在Xcode 8中我被提示选择设备而我选择了iPhone 6S,我认为该部分是以某种方式负责在Xcode 7中打开的故事板文件
我现在正在研究一个由TextInput和ListView组成的搜索组件.它从外部服务器加载其结果并相应地填充ListView.
还有一个关闭搜索组件的TouchableOpacity.
不幸的是,需要两次按下才能获得被调用的TouchableOpacity的onPress回调 - 一个让TextInput失去焦点,一个用来触发回调.但是,如果我按下TouchableOpacity来关闭搜索组件,或者如果我按下"react-native-scrollable-tab-view"组件的其中一个选项卡,它会立即做出反应,TextInput甚至会保持其焦点.
所以,我想知道是否有人知道ListView是否由于其滚动功能而以某种方式消耗了触摸.
你能解释一下吗?
谢谢
我已经搜索了很多关于如何检测链接的UITextView
可编辑属性设置为true
,但没有找到任何解决方案.所有解决方案都建议将editable设置为NO
,但根据要求我无法设置editable NO
.
如果用户使用任何其他日历帐户(例如 yahoo 或 hotmail),我们是否可以以编程方式将新日历添加到默认日历应用程序,我收到以下错误:
Domain=EKErrorDomain Code=17“该帐户不允许添加或删除日历。”
如果用户使用 icould 或 ios 日历,代码可以完美运行
+ (UIColor *)scrollViewTexturedBackgroundColor
Run Code Online (Sandbox Code Playgroud)
在iOS 7中不推荐使用我应该使用的方法吗?
我正在尝试使用适用于iOS应用的LAME将Linear PCM音频文件(.wav)转换为MP3。我成功地做到了,除了一个问题,创建的MP3文件比原始的.wav文件小。对于30秒的wav文件,创建的MP3文件为27秒,最后3秒的音频被切掉。在5分钟的音频中,约30秒的音频被截断,生成MP3。
我不太确定是什么引起了这个问题,我已经尝试了一些更改,但没有任何效果。有人可以帮助我,将我推向正确的方向吗?
这是我为此使用的代码。
int read, write;
FILE *pcm = fopen([mergeFile cStringUsingEncoding:1], "rb"); //source
fseek(pcm, 4*1024, SEEK_CUR); //skip file header
FILE *mp3 = fopen([mp3FilePath cStringUsingEncoding:1], "wb"); //output
const int PCM_SIZE = 8192;
const int MP3_SIZE = 8192;
short int pcm_buffer[PCM_SIZE*2];
unsigned char mp3_buffer[MP3_SIZE];
lame_t lame = lame_init();
lame_set_in_samplerate(lame, 44100);
lame_set_VBR(lame, vbr_default);
lame_init_params(lame);
do {
read = fread(pcm_buffer, 2*sizeof(short int), PCM_SIZE, pcm);
NSLog(@"");
if (read == 0)
write = lame_encode_flush(lame, mp3_buffer, MP3_SIZE);
else
write = lame_encode_buffer_interleaved(lame, pcm_buffer, read, mp3_buffer, MP3_SIZE);
} …
Run Code Online (Sandbox Code Playgroud) ios ×9
objective-c ×3
iphone ×2
storyboard ×2
xcode ×2
audio ×1
autolayout ×1
deprecated ×1
ekeventstore ×1
ios10 ×1
ios7 ×1
ios8 ×1
iphone-6 ×1
lame ×1
react-native ×1
resolution ×1
scrollview ×1
textinput ×1
uicolor ×1
xcode6 ×1