当我从iOS 6切换到iOS 7设计时,我注意到使用该方法setValue:animated:
不再为滑动过程设置动画.有没有其他人遇到过这个问题并找到了解决方案?
我只是添加一些代码来表明我没有做任何复杂的事情:
//Variable declaration
IBOutlet UISlider *s; //Connected in the .xib
//Button pressed
- (IBAction)buttonPressed:(id)sender
{
[s setValue:1 animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
按下按钮后,它会直接跳到1.
我想创建一个动画,它将通过一个因子调整UIView及其内容的大小.基本上,我想制作一个动画,首先展开视图,然后将其缩小回原始大小.
做这个的最好方式是什么?我尝试过CALayer.contentScale但它根本没有做任何事情.
我目前正在使用UIGraphicsGetImageFromCurrentImageContext()将内容的图像保存到用户的相机胶卷,但图像质量比我在模拟器中进行屏幕截图更差.有没有办法改善它?无论如何,保存的图像的格式是什么?BMP?有没有办法改变这个?
这是我的保存代码:
CGSize size = [content bounds].size;
UIGraphicsBeginImageContext(size);
[[content layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *originalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(originalImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
Run Code Online (Sandbox Code Playgroud) 我正在为3.5英寸和4英寸屏幕开发应用程序.然而,即使在我运行4英寸iPhone模拟器时,模拟器上的屏幕尺寸突然变为320*480.
我把它放在AppDelegate文件中,它打印320.000000,480.000000 ...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
NSLog(@"%f, %f", [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
...
}
Run Code Online (Sandbox Code Playgroud)
我不确定Xcode中的哪个设置(如果有的话)我不小心碰到它就像这样.我的所有.xib文件都设置为4英寸视网膜.以前有人遇到过这个吗?
从Open Graph v2.0应用程序不再可以访问Facebook用户的实际ID,但必须处理应用程序范围ID.这意味着在iOS中,网址方案链接@"fb:// profile/123456"不再有效,因为我们需要用户的实际ID.
有没有办法在原生iOS Facebook应用程序中打开只有应用程序范围ID的用户页面?
这是我当前的代码,它在原生iOS Facebook应用程序中产生"找不到页面"错误.
NSString *link = [NSString stringWithFormat:@"fb://profile/%@", fbID];
NSURL *facebookURL = [NSURL URLWithString:link];
if ([[UIApplication sharedApplication] canOpenURL:facebookURL]) {
[[UIApplication sharedApplication] openURL:facebookURL];
} else {
NSString *link = [NSString stringWithFormat:@"http://facebook.com/%@", fbID];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:link]];
}
Run Code Online (Sandbox Code Playgroud) 脚本
假设我正在为Messenger应用程序构建数据库.让两个表,一个User表和一个Conversation表.每个对话都有一个参与用户列表,每个用户都有一个他们所在的对话列表.简而言之,用户和对话表之间存在多对多关系.
现在假设我想在打开应用程序时按降序按时间顺序加载用户对话列表的前10个对话.假设表中的#Conversations >> #Conversations用户有>> 10,一种强制方式是加载用户列表中的每个会话,然后在内存中排序,最后返回第10个.我想这是怎么回事普通的SQL引擎将处理这样的查询.
关心
我担心的是,当#Conversations用户变得非常大时,此操作变得太耗费资源.是否有更快的方法来实现相同的结果(从表中获取已排序的记录子列表)以及可能的其他数据库设置?
例
例如,假设用户有300个会话,我们希望按顺序翻阅这些会话.上述方法可以将所有300个会话下载到磁盘,然后在本地进行排序,或者让服务器进行排序.第一种方法使用太多带宽,信息可能不是最新的,第二种方法需要在每次页面浏览时从数据库中提取所有300个对话.
题
我的问题是:我对这个特殊情况的关注是否有效?如果是这样,我应该如何修改我的数据库设置以避免此问题?一些现有的例子如Facebook Messenger如何处理这个?如果没有,为什么这不是性能问题?
编辑
我在问了一个问题之后才意识到在RDBMS中我们只需要创建第三个表来存储多对多关系,并在这个表上构建索引就可以解决这个问题.但是,在这种情况下,支持列中存储列表的NoSQL数据库(更具体地说,AWS DynamoDB)是否优于传统的RDBMS?
Apple推出了Testflight,作为开发人员快速有效地测试应用程序的一种方式.虽然意图很好,但为公开测试用户注册并不是完全自动的.目前,开发商必须:
这显然非常麻烦,因为它需要开发人员手工完成这些事情.即使我们每天都保留Google文档并添加所有电子邮件,用户将电子邮件放在文档上并获得该邀请之间的延迟也可能导致测试人员失去兴趣.
问题是,有没有人想出一种自动化流程的方法?理想情况下,只要用户在Web表单上输入电子邮件,或通过其他方式,脚本就会将其添加到列表中并即时发送邀请.是否有某种设置来处理这种没有体力劳动?
我正在开发一个保存一些数据的iPhone应用程序.我正在使用NSKeyedArchiver
类中的归档方法将数据保存到磁盘.我想定期将数据保存到磁盘.问题是,当数据变大时,需要更多时间,实际上会中断用户当前的操作.
因此,我想使用多线程来解决这个问题.根据我对多线程的理解,当我想将数据保存到磁盘时,我应该创建一个新线程,在新线程上运行保存任务,然后终止线程.我也应该创建线程,以便在应用程序终止时不会立即终止,以完成保存数据.这样,用户可以继续与界面交互.
话虽这么说,我不熟悉这些工作的实际代码......上面的代码会是什么样子?
ios ×6
cocoa-touch ×4
caanimation ×1
database ×1
facebook ×1
ios7 ×1
objective-c ×1
sql ×1
testflight ×1
uislider ×1
web-services ×1
xcode ×1