javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

目标c-iOS 11大标题导航栏不折叠

“在Cocoa Touch WWDC中的新增功能”视频中的苹果人说,新的大标题导航栏将神奇地挂接到基础视图控制器的顶级滚动视图中,并在上下滚动时自动折叠/扩展自身。 (通过“魔术”,他可能意味着他们无法以一种有用的方式将这个功能猴子化到已经令人尴尬的UINavigationController-UITabBarController-UINavigationController API中,因此他们不得不诉诸于幕后的启发式选择的滚动视图)

即使我准备好如果我稍微偏离基本的3007829921571013613632 + UINavigationController/3007829921571071013634,这种“自动”折叠/展开也不起作用,即使在这种最简单的情况下,它似乎也无法按预期工作。

这是我所拥有的:

一个UITabBarController包含一个UINavigationController,一个UIViewController和一个UITableView作为其3007829921571013665。点击表中的第一个单元格将在导航堆栈上推送第二个视图控制器:

storyboard

没有代码,只有情节提要。

我已选中导航栏的“首选大标题”以激活大标题。 现在,如果我运行该应用程序并在表格视图上向上/向下滚动,则导航栏保持不变-大-尺寸; 它不会崩溃:

stuck with large title

但是,我发现如果将第二个视图控制器的导航项设置为使用小的导航栏(通过将“大标题”设置为值“从不”),则如果我打开该页面并向后浏览,则交互式折叠 神奇地开始在第一页上工作:

interactive collapse works after back navigation

我在这里缺少什么,还是此功能无法正常工作? 这是我正在使用的示例项目:[https://github.com/tzahola/iOS-11-Large-Title-Navigation-Bar]

顺便说一句,我使用的是正式发布的iOS 11,而不是Beta。

2017年9月23日更新:我已向Apple发送错误报告,并在openradar.me上打开了一张票证:[http://www.openradar.me/radar?id=5017601935671296]

trans by 2020-08-12T07:46:21Z

iPhone-UISearchDisplayController没有结果tableView?

通常,UISearchDisplayController激活后会使tableView变暗并聚焦searchBar。 只要在searchBar中输入文本,它就会创建一个searchResultsTableView,该结果显示在searchBar和键盘之间。 当第二个UITableView加载/显示/隐藏/卸载时,将调用searchDisplayController的委托。 通常,它会在键入时显示实时搜索结果或自动补全条目。

在我的应用程序中,我想搜索一个Web服务,并且不想为用户输入的每个字母调用该Web服务。 因此,我要完全禁用searchResultsTableView,并在他输入文本时保留黑色的灰色覆盖。 一旦他点击搜索按钮,我便会触发搜索(带有加载屏幕)。

仅返回searchResultsTableView的零行看起来并不好,因为它显示一个空的searchResultsTableView并显示“无结果”消息。 我尝试隐藏显示的表格(searchDisplayController:didLoadSearchResultsTableView:),该表格可以正常工作,但是黑色变暗的覆盖层也被隐藏了,因此基础tableView再次完全可见。

除了从头开始重新创建UISearchDisplayController功能,还有其他想法吗?

trans by 2020-08-12T05:17:11Z

目标c-强制iOS应用崩溃的最快方法是什么?

我正在尝试测试崩溃分析。 我没有意识到让应用程序随意崩溃有多么困难。 中间编程似乎很简单。 有人对我如何迫使我的应用崩溃的建议吗? 我的意思不是说“内存错误”崩溃,而是手机不知道该如何处理。 我至少需要它在Xcode的组织器中作为崩溃进入设备日志。 有什么建议?

trans by 2020-08-12T02:47:29Z

目标c-不区分大小写的核心数据包含或开始具有约束

我有一个谓词看起来像

[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS %@", self.region, query];

我希望它匹配忽略大小写。 诀窍是什么?

trans by 2020-08-11T19:56:10Z

目标C-iOS 7 / Xcode 5:以编程方式访问设备启动图像

有什么方法可以将应用程序LaunchImage用作通用iOS应用程序中的背景,而无需将相同的图像资源放在多个位置?

我无法访问Images.xcassets中的LaunchImage文件,因此创建了两个新的图像集“ Background Portrait”和“ Background Landscape”(因为似乎无法将风景图像和肖像图像放入同一集合中)。

尽管此变通办法可以完成工作,但我不希望将每个图像两次包含到应用程序中。 这也具有高的维护成本。

感谢您提供有关如何访问当前设备的LaunchImage的任何建议。

对于iOS <7,GCOLaunchImageTransition必须完成此工作。

trans by 2020-08-11T08:14:53Z

目标c-从NSE返回NSString

我在iPhone应用程序中使用了NSURLRequest类,调用它的方法返回了NSString,这对于连接通过ok时非常有用,但是问题是我需要将NSError转换为NSString,以便我可以返回它 返回或运行一些if()语句。

有任何想法吗? :)

trans by 2020-08-11T04:48:24Z

iPhone-NSManagedObjectContext performBlockAndWait:不在后台线程上执行吗?

我有这样声明的NSManagedObjectContext:

- (NSManagedObjectContext *) backgroundMOC {
    if (backgroundMOC != nil) {
        return backgroundMOC;
    }
    backgroundMOC = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
    return backgroundMOC;
}

请注意,它是使用私有队列并发类型声明的,因此其任务应在后台线程上运行。 我有以下代码:

-(void)testThreading
{
    /* ok */
    [self.backgroundMOC performBlock:^{
        assert(![NSThread isMainThread]); 
    }];

    /* CRASH */
    [self.backgroundMOC performBlockAndWait:^{
        assert(![NSThread isMainThread]); 
    }];
}

为什么调用performBlockAndWait在主线程而不是后台线程上执行任务?

trans by 2020-08-11T04:28:36Z

ios-自动属性合成(@property)和继承

使用XCode 5.1,会出现一个新的警告。 显然,这使我明白我做错了什么。

这个想法是要有一个对象(一个模型),并且它是一个可变的版本,它继承自原始类。 因此,想法是打开一个属性为readonlyreadwrite的财产

@interface Car : NSObject
    @property (strong, readonly) NSString *name;
@end

@interface MutableCar : Car
    @property (strong, readwrite) NSString *name;
@end

这些需要在单独的文件中(如两个普通的类)。

它给出了这个警告:

Auto property synthesis will not synthesize property 'name' because it is 'readwrite' but it will be synthesized 'readonly' via another property

因此,我想知道如果可能的话,正确的解决方案是什么? 如果需要编写访问器并避免使用自动综合等。请保持精确,并使用文档或其他内容为您的答案提供支持。

trans by 2020-08-11T00:57:26Z

目标c-动态转发:禁止实施不完整警告

我有一个暴露一些方法的类,其实现由内部对象提供。

我正在使用正向调用在运行时调度对内部对象的方法调用,但是XCode抱怨,因为它找不到声明的方法的实现。

我在SO上发现了其他一些类似的问题,但是所有这些都通过更改设计得以解决。

我的意思不是在这里讨论设计,但是如果有人对此有任何建议,我会对Code Review提出一个开放的问题,它更适合此类讨论。

我的问题是,是否存在关闭XCode中的Incomplete Implementation警告的方法。

trans by 2020-08-11T00:01:17Z

目标c-为什么NSDateFormatter返回这4个时区的零日期?

尝试在iOS6中运行此程序(尚未在iOS6之前测试过):

NSDateFormatter *julianDayDateFormatter = nil;
julianDayDateFormatter = [[NSDateFormatter alloc] init];
[julianDayDateFormatter setDateFormat:@"g"];

for (NSString *timeZone in [NSTimeZone knownTimeZoneNames]) {
    julianDayDateFormatter.timeZone = [NSTimeZone timeZoneWithName: timeZone];
    NSDate *date = [julianDayDateFormatter dateFromString:[NSString stringWithFormat:@"%d", 2475213]];
    if (date == nil)
        NSLog(@"timeZone = %@", timeZone);
}

您将获得以下输出:

America/Bahia
America/Campo_Grande
America/Cuiaba
America/Sao_Paulo

有人能解释为什么将NSDateFormatter设置为儒略日数字时,这四个时区的行为会如此吗? 所有其他时区使NSDateFormatter返回实际的NSDate。

trans by 2020-08-10T23:03:20Z

iPhone-使用CALay时无法编译代码

由于某些原因,当我尝试使用CALayer时出现链接器错误:

  "_OBJC_CLASS_$_CALayer", referenced from:

我已导入以下标头:

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>

码:

arrowImage = [[CALayer alloc] init];
trans by 2020-08-10T20:43:32Z

iphone-检测iOS应用是否在调试中运行

我将应用程序设置为将调试输出发送到控制台或日志文件。 现在,我想在代码中决定是否

  • 它在调试器(或模拟器)中运行,因此有一个控制台窗口,我想在其中直接读取输出,或者
  • 没有控制台窗口,因此应将输出重定向到文件。

有没有办法确定应用程序是否在调试器中运行?

trans by 2020-08-10T20:16:56Z

缓存-在定义缓存变量时在Objective-C中使用static关键字

我正在查看以下苹果示例源代码:

    /*
 Cache the formatter. Normally you would use one of the date formatter styles (such as NSDateFormatterShortStyle), but here we want a specific format that excludes seconds.
 */
static NSDateFormatter *dateFormatter = nil;
if (dateFormatter == nil) {
    dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"h:mm a"];
}

试图找出:

  • 为什么要使用static关键字?

  • 如果您在每次调用该方法时将其设置为nil,则它如何等同于缓存的变量。

该代码来自Tableview Suite演示中的示例4

trans by 2020-08-10T11:55:48Z

ios-Swi中的NSDate()与NSDate.date()

我跟随Bloc.io Swiftris教程,在其中他们通过以下方式初始化日期:

lastTick = NSDate.date()

导致编译错误:

'date()' is unavailable: use object construction 'NSDate()'

哪个应该等于:

NSDate *lastTick = [NSDate date];

(来自NSDate参考)

自从我看到其他使用NSDate.date的示例以来,Apple是否将Swift界面更改为NSDate?

这仅仅是NSDate还是您不能为任何Objective-C API调用类型方法?

trans by 2020-08-10T09:57:07Z

目标c-如何创建NSIndexPath:indexPathWithIndexes:length所需的“索引”:

创建具有一个或多个节点的索引路径的类方法是:

+ (id)indexPathWithIndexes:(NSUInteger *)indexes length:(NSUInteger)length

我们如何创建第一个参数所需的“索引”?

该文档将其列为组成索引路径的索引数组,但是期望使用(NSUinteger *)。

要创建1.2.3.4的索引路径,是否只是[1,2,3,4]的数组?

trans by 2020-08-10T09:54:53Z

iPhone-当前时间为HH:MM:SS am / pm格式?

如何以HH:MM:SS am / pm格式获取当前时间?

trans by 2020-08-10T09:29:34Z

目标c-刷新控制iOS 6 xcode

有谁有一个简短的示例说明如何将新的UIRefreshControl实施到xcode中。 我有一个显示Tweets的UITableViewController,希望能够下拉并刷新。

trans by 2020-08-10T07:31:45Z

ios-使用自动布局以编程方式更改框架

我有一个带有自动布局的UITableView,当GADBannerView出现在屏幕底部时,我需要减小高度。

不幸的是,使用自动布局无法修改框架。 解决方法是删除“自动布局”并手动设置框架。 这是非常危险的,因为我的所有应用程序都可以在3.5'和4.0'显示器上正常工作,并且删除自动布局会导致新的测试阶段和更多工作。

即使启用了自动布局,是否可以更改框架?

trans by 2020-08-10T07:26:40Z

一次关闭后,如何取回“允许推送通知”对话框?

我正在构建一个严重依赖APN的应用程序。 在我的应用程序首次启动时,iOS会询问是否允许该应用程序使用APN(作为registerForRemoteNotificationTypes:调用的结果)。 但是,一旦关闭,此对话框就永远不会弹出。 我必须手动转到Settings->Notifications->MyApp才能在此处启用/禁用操作。 那么,有没有一种方法可以避免这种烦恼,并在每次以调试模式启动应用程序时,真正体验用户在首次启动时会遇到的体验?

trans by 2020-08-10T04:38:07Z

iOS-Objective-C:集合枚举块中的“ continue”吗?

如果我有一个NSArray,并且我使用continue循环遍历数组中的元素,但是在某些情况下,我需要跳过循环体并转到下一个元素,在块中是否有等效的continue,或者我可以直接使用continue

谢谢!

更新:

只是想澄清一下,我想做的是:

for (int i = 0 ; i < 10 ; i++)
{
    if (i == 5)
    {
        continue;
    }
    // do something with i
}

我需要的是continue等效的模块。

trans by 2020-08-10T03:32:55Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共86页