小编occ*_*lus的帖子

在UISplitViewController和其他视图控制器之间切换的最佳方法是什么?

我正在创作一个iPad应用程序.应用程序中的一个屏幕非常适合使用UISplitViewController.但是,应用程序的顶级是一个主菜单,我不想使用UISplitViewController.这提出了一个问题,因为Apple说:

  1. UISplitViewController 应该是应用程序中的顶级视图控制器,即它的视图应该作为子视图添加 UIWindow

  2. 如果使用,UISplitViewController应该在应用程序的生命周期中存在 - 即不要从UIWindow中移除其视图并将其他视图放在适当位置,反之亦然

阅读和实验后,似乎只有满足Apple要求的可行选择,而我们自己的选择是使用模态对话框.所以我们的应用程序在根级别有一个UISplitViewController(即它的视图被添加为UIWindow的子视图),为了显示我们的主菜单,我们将它作为全屏模式对话框推送到UISplitViewController上.然后通过关闭主菜单视图控制器模式对话框,我们可以实际显示我们的拆分视图.

这个策略似乎运作正常.但它引出了一些问题:

1)有没有更好的方法来构建这个,没有模态,也满足提到的所有要求?由于被推送为模态对话框,主UI出现似乎有点奇怪.(模态应该用于重点用户任务.)

2)由于我的做法,我是否有遭受应用商店拒绝的风险?根据Apple的人机界面指南,这种模态策略可能是"误用"模态对话框.但是他们给了我什么其他选择呢?无论如何,他们会知道我这样做吗?

iphone user-interface appstore-approval ipad uisplitviewcontroller

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

使用libjpeg-turbo的TurboJPEG的示例或教程

libjpeg-turbo的说明在描述了TurboJPEG API:"此API包装了libjpeg-turbo,并提供了一个易于使用的界面,用于压缩和解压缩内存中的JPEG图像".很好,但有一些使用此API的可靠实例吗?只是想在内存中解压缩一个相当香草的jpeg.

我找到了一些比如https://github.com/erlyvideo/jpeg/blob/master/c_src/jpeg.c,它似乎使用的是TurboJPEG API,但还有更多可靠/多变的例子吗?

libjpeg-turbo的来源已有详细记录,因此确实有帮助.

c c++ jpeg libjpeg-turbo turbojpeg

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

Xcode 4:删除Build Settings中的项目

在XCode 4.0中,有一个新设计的Build Settings页面.我的问题是,一旦我指定它,我就看不到如何删除设置.

示例:我已在目标级别将"版本控制系统"更改为"Apple Generic".之后我意识到我应该在项目级别设置它,所以我想删除目标级别设置.但是,我无法看到删除设置 - 您单击它并且有两个选项,这两个选项都不是默认的"未指定"空设置.点击键盘上的删除键没什么.

对于接受文本的字段也是如此 - 如果我尝试通过删除所有文本集来删除设置,它仍然显示该字段为绿色,但没有文本,并将其视为设置的存在.

iphone xcode xcode4

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

Xcode无法更新到6.2版

昨天我将Xcode 6.1.1更新为Xcode 6.2,但在更新后,当我看到Xcode时,它仍然显示了版本6.1.1(6A2008a).知道为什么吗?

注意:我已经去了App商店并检查它,但是显示它已更新,我只能打开它.

xcode xcode6

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

基于每个项目定义新的XCode模板标签

众所周知,您可以定义新文件模板中使用的标记的值,如http://cocoadev.com/index.pl?ProjectBuilderTips中所述.

所以典型的模板如下所示:

/*
 *  main.m
 *  «PROJECTNAME»
 *
 *  Created by «FULLUSERNAME» on «DATE».
 *  Copyright (c) «YEAR» «ORGANIZATIONNAME». All rights reserved.
 *
 */
Run Code Online (Sandbox Code Playgroud)

现在,我知道如何定义新模板并且已经完成了.但是,我希望我的新模板在其中使用我自己的新标记,如下所示:

/*
 *  «ATTRIBUTIONLINE»
 */
Run Code Online (Sandbox Code Playgroud)

...我希望该标签可以在每个XCode项目的基础上定义.这可能吗?我一直在搜索,只能找到在命令行上运行某些东西的常用内容,它为所有项目定义了一个众所周知的标记.

iphone xcode templates xcode-template

10
推荐指数
1
解决办法
498
查看次数

Libjpeg-turbo优化有哪些Android设备受益?

libjpeg的涡轮增压项目"使用SIMD指令(MMX,SSE2,NEON)加快基线JPEG压缩和解压在x86,x86-64的,而ARM系统".

Android设备空间的哪些部分支持这些说明,因此使用此库可以获得速度优势?

(我将解压缩通过NDK访问的本机代码中的jpegs.)

java-native-interface android jpeg android-ndk libjpeg-turbo

9
推荐指数
2
解决办法
1372
查看次数

NSMutableArray和NSPredicate过滤

我试图用一个对象中的两个实体来过滤我的数组,就像我有一个Person对象,其中我有名字,地址,数字,电子邮件等.我试图用名称和数字过滤我的数组对象列表.如何使用NSPredicate实现这一目标?

iphone cocoa objective-c ipad ios

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

配置Maven以在项目目录外生成输出

请帮帮我,我是Maven的新手.我试图在Maven项目文件夹的不同目录中生成目标文件夹.根据我的要求,当我构建我的maven项目时,生成的war文件应放在另一个文件夹中,如C:\naresh文件夹.

这是我的代码:

<project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <packaging>war</packaging>
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.test</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>

   <build>
    <directory>${project.basedir}/target</directory>
     <outputDirectory>C:\Software\${project.basedir}/target</outputDirectory>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
             <configuration>
               <warSourceDirectory>WebContent</warSourceDirectory>
             </configuration>
        </plugin>
    </plugins>

    </build>
</project>
Run Code Online (Sandbox Code Playgroud)

maven-2 maven-3

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

iPhone开发 - 应用程序设计模式

关于iPhone的编码有很多资源.其中大多数涉及"我如何做X",例如"设置导航控制器"或"从URL下载文本".一切都好又好.

我现在更感兴趣的是更简单的问题 - 如何最好地构建复杂的用户界面或应用程序,或出现的常见问题.为了说明:一本书像"从iPhone 3发展"将告诉您如何建立一个多视图 - 控制应用程序与其他视图控制器拥有的视图之间切换的顶部"切换"视图 - 控制.好吧,但你只告诉如何做到这一点,并没有什么关于可以按照问题:例如,如果我用自己的模式切换到UINavigationViewController,导航栏结束了在屏幕上得太低,因为UINavigationViewController预期成为最顶级的UIViewController(显然).此外,委托方法(例如与方向变化有关)转到顶部切换器视图控制器,不是负责当前视图的实际控制器.我已经修复了这些东西,但他们感觉像黑客让我不开心,让我觉得我错过了什么.

一个有成效的事情可能是看一些开源的iPhone项目(见这个问题).但除此之外呢?

更新

澄清:我想我所问的可以概括为"iPhone开发的食谱和陷阱".开发人员感兴趣的东西,但我见过的任何iPhone书籍都没有涉及,例如:

  • 我正在编写一个iPad应用程序,并希望在某些时候只向用户呈现一个UISplitViewController ,Apple似乎在说我做不到.可能吗?怎么样?

  • Apple没有给我一种方便,全面的方式来设计我的应用程序的方式(例如字体调整或颜色).如何处理我的应用程序样式?

  • UIViewController方法名称中的一些不一致性使内存管理变得更容易(例如,尽管名称,viewDidUnload 与viewDidLoad 相反).是否有一致的简单方法来整理它并使视图控制器内存管理不易出错?

  • 当内存警告进入时,如何能够始终如一地轻松测试我的视图控制器是否正常运行?在模拟器中模拟内存警告很容易,但如果我要测试的UI正在显示(并且是一个"叶级"视图控制器),它将不会卸载其视图,因为它当前是可见的.

NB我实际上并没有在这里提出上述问题 - 我想我对他们有很好的答案! - 仅举出说明此stackoverflow问题的"好"问题示例.

iphone design-patterns

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

通过打开iCalendar(.ics)文件在iOS5 Calendar中创建新事件

根据Apple的iOS 4.2发行说明:

日历现在可以直接导入.ics文件作为添加事件的方式.如果您的应用程序可以访问.ics文件,则应使用UIDocumentInteractionController API测试导入它们.

我正在打开一个示例.ics文件UIDocumentInteractionController并显示iOS日历应用程序,但它没有创建新的约会 - 它只显示上次使用日历应用程序时显示的内容.有没有人有幸以这种方式创建新活动?

我的UIDocumentInteractionController用法代码是:

- (void)openDocumentIn {    
    NSString * filePath = 
    [[NSBundle mainBundle] 
     pathForResource:@"testevent" ofType:@"ics"];    

    self.documentController = 
        [UIDocumentInteractionController 
         interactionControllerWithURL:[NSURL fileURLWithPath:filePath]];

    self.documentController.delegate = self;

    [self.documentController presentOpenInMenuFromRect:CGRectZero
                                           inView:self.view 
                                         animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

和我的示例.ics文件:

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
DTSTART:20120411T090000
DTEND:20120411T100000
SUMMARY:Crazy party
LOCATION:Windsor Bouncy Castle
DESCRIPTION:Lots of good stuff will happen.
PRIORITY:3
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

我在原版iPad上运行iOS 5.1.

更新

我已经尝试在我的日历中预先创建一个与事件的时间/数据相匹配的.ical事件,看看在这种情况下,日历应用程序是否至少会显示已经存在的匹配事件,但再次没有运气 - 日历应用程序只是打开显示上次显示的内容.

calendar ipad ios

6
推荐指数
0
解决办法
3244
查看次数